[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems when trying to create Debian packages from latest Netlib



Hi Andreas,

This is going to be an absolutely huge task to Debianise. I don't envy you.

All the instructions are in the top level build.xml, you can ignore the OSX, Windows and Pi builds. The version of maven should be fairly recent, using the standard sonatype template. I'm pretty sure maven 3 allows versions to be omitted if a parent pom defines them all, it's a very standard pattern.

You need to first build and publish the generator module, which is a GPL maven plugin. Then you can build what remains, after patching. You may wish to read the pom.xml files to understand what is going on.

Publishing of the final parent module is a separate step because multiple machines were needed to create the cross builds.

I have not done anything non-standard in doing it this way. It is not possible to have a plugin be part of the same meta build.

I don't want to discourage you if you're enthusiastic, but I must admit I have limited interest in debianised rebuilds of packages that are available on maven central. I don't know any JVM developer who would use a system provided jar over maven central, and doing so kind of defeats the point of using the JVM in the first place. As a result, I've personally removed all traces of Debianised Java from my system and rely solely on zulu OpenJDK builds with a manually installed maven3 in /opt.

That said, I use Debian, and I'm thankful for your packaging of netlib (which beats the socks off other distros who put CBLAS in libblas.so.3), so I'm happy to answer any questions you have if you get stuck :-)

Note that there is a typo in the Fortran reference implementation jar licence, they should be LGPL because they include statically linked GCC libraries.

Actually, don't even bother building the reference implementation, you only care about the Java and system implementation.

Also, you'll struggle to get hold of a source build of f2j's jars. You're entering a rabbit hole...

On 9 May 2016 2:34 p.m., "Andreas Tille" <tille@debian.org> wrote:
Hi Sam,

I'm writing you on behalf of the Debian Java team which maintains Netlib
for Debian.  I have a specific interest in netlib since it is a
precondition for some scientific software in Debian.

While I managed to build version 0.9.3 nicely which is also part of
Debian I have severy problems to build the Maven based 1.x series of
Netlib.  The problem is that the Debian build system does not permit
downloads of binary code (like JARs) from the internet.  A package needs
to build on an autark machine disconnected from the internet which means
in turn that Debian needs to package all predependencies which in
principle seems to be the case for Netlib.

Unfortunately due to the build system you crafted for netlib this is
not the case.

In order to build the core module the generator module is required as a
plugin or native_ref/java/pom.xml depends on the core module. We need to
build these modules first, however when we execute the current build
system, no code is generated because the generator module is not
included in pom.xml. How can we build netlib from source and avoid to
download prebuilt artifacts from maven central?

We have also discovered that the build system won't work with Maven 3
anymore. Maven requires a <version></version> for all artifacts and for
instance you haven't specified one for Lombok. When we try to run the
generator module separately, it also fails with an Maven error:

[ERROR]
/build/netlib-java-1.1.2/generator/src/main/java/com/github/fommil/netlib=
/generator/AbstractNetlibGenerator.java:[82,50]
incompatible types: java.lang.Object cannot be converted to
org.apache.maven.artifact.Artifact

We believe this is due to the fact that you used an older version of
Maven back then.

It would be really great if you could fix this to enable me adding
the latest and greatest Netlib to Debian.

Kind regards

        Andreas.

--
http://fam-tille.de

Reply to: