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

Looking at an archive rebuild with opendjk-9-jdk

I rebuilt ~300 packages[1] which build-depend on default-jdk in a
hacked-up[2] "chroot" which uses openjdk-9-jdk, in place of openjdk-8-jdk.
(i.e. custom java-common build + some Provides: hacks.)

Most things fail: 87% failures.

~41% are hitting a bug in Maven, e.g. argparse4j:
   dh_auto_build -O--buildsystem=maven
    /usr/lib/jvm/default-java/bin/java -noverify -cp /usr/[...]
[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class

There's an old mailing list post about this, but it doesn't seem to have
a resolution beyond "works for me!":

Someone more aware of what versions of things we're running, and how
they were built, should investigate this.

~30% are using an outdated -source or -target, e.g. dom4j:
[javac] error: Source option 1.3 is no longer supported. Use 1.6 or later.
[javac] error: Target option 1.3 is no longer supported. Use 1.6 or later.

We discussed on IRC perhaps patching javac (or ant/maven) to just use
1.6 here, and pray. Annoying to try, as neither ant nor maven build in
my "chroot".

Does anyone have a less horrifying suggestion, beyond patching 30% of
the libraries in Debian?

~8% are hitting a bug in gradle, e.g. gant:
Caused by: java.lang.reflect.InaccessibleObjectException:
  Unable to make protected java.lang.Package[]
    java.lang.ClassLoader.getPackages() accessible:
  module java.base does not "opens java.lang" to unnamed module @14fc5f04

https://github.com/gradle/gradle/issues/1095 suggests it's fixed in 4.1
nightly, as of a fortnight ago.

I guess we just wait for upstream to fix this one, and the new gradle to
make it into sid.

The remaining failures are much more random:
 * eclipse stuff has weird failures, e.g. eclipse-cdt fails to find some files[3]
 * broken dependencies (i.e. probably not caused by jdk9,
    or caused by my build env), e.g. dogtag-pki
 * javadoc is more picky about some things, e.g. imports of sealed packages (hacked ant),
     /build/classycle-1.4.2/src/classycle/ant/ReportTask.java:97: error:
     no summary or caption for table
 * bnd actually fails due to a jdk9 reason, it uses _ as an identifier!
 * Full list (without reasons): https://paste.debian.net/973904/

I suggest we attempt to address these three major issues before trying
a bigger rebuild.


1: Processed dose output: https://paste.debian.net/973901/
2: https://github.com/FauxFaux/debjdk9
3: https://paste.debian.net/973906/

Reply to: