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 com.google.inject.internal.cglib.core.$ReflectUtils There's an old mailing list post about this, but it doesn't seem to have a resolution beyond "works for me!": https://www.mail-archive.com/jigsaw-dev@openjdk.java.net/msg06073.html 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), [javadoc] /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. Chris. 1: Processed dose output: https://paste.debian.net/973901/ 2: https://github.com/FauxFaux/debjdk9 3: https://paste.debian.net/973906/