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

Java 8 transition status



Hi,

Here is a status report on the Java 8 transition:

1. OpenJDK 8

The source of the openjdk-8 package is available on alioth [1] and
several persons have been able to built it successfully. Prebuilt
binaries are also available for amd64 [2] (currently 8u5-b13). The
package uses the upstream build system and is not based on IcedTea (but
several IcedTea patches are still used).

Issues blocking the upload:
- debian/copyright update
- Settle where to maintain the package (either Bazaar/Launchpad by the
OpenJDK Team or Git/Alioth in the Java Team repository)

Other issues:
- ports:
  - kFreeBSD: Jan Henke has started working on the kFreeBSD support. He
refreshed the patches but the compilation doesn't complete yet.
  - aarch64: The openjdk-8 package integrates the upstream aarch64 port
but nobody has tried to build it yet. Also the aarch64 port isn't
currently in sync with the main code base and unlikely to be [3], we'll
have to organize the package to work with different versions and hope
that's sustainable.
  - others: I plan to contact the porter mailing lists to get more
people to build and test openjdk-8 on various architectures.

- tests: I have updated jtreg to run the OpenJDK 8 tests but the package
hasn't been uploaded yet. The upstream build has several hardcoded paths
for jtreg which are causing some problems. So far I'm able to run the
langtools tests but not the other suites. I asked Oracle to get access
to the JCK but haven't heard from them yet.

- hardening/debug symbols/striping : Help wanted from a C/C++ guru to
get this right.

- fonts: The font configuration patches are disabled. I haven't tested
GUI applications yet but I guess it won't look pretty.

- patches: Several patches from openjdk-7 are still disabled. They have
to be reviewed and either dropped or refreshed:
    fix_extra_flags-$(hotspot_version).diff
    no-pch-build.diff
    text-relocations.diff
    zero-opt.diff
    zero-x32.diff
    zero-sparc.diff
    hotspot-libpath-$(hotspot_version).diff

- JavaFX: Oracle integrates JavaFX into Java 8, but this is a different
project developed in its own repository [4]. The build is based on
Gradle and as such I don't think we can reasonably mix the OpenJFX
sources into the openjdk-8 package.

- audio: IcedTea provided a Java Sound driver for Pulse Audio. I ignore
if we really need it (is the sound broken or is this just an
optimization?). It will have to be extracted from IcedTea and packaged
separately if we want to keep it.

- bootstrapping: OpenJDK 8 requires Java 7 to compile the langtools
module. We may try to build this module with gcj instead, this would
allow us to drop openjdk-7 in the future (for Jessie+1 I guess).


2. Java packages

1038 packages depending on default-jdk were rebuilt with openjdk-8 and
84 of them failed to build [5][6]. There are about 20 packages depending
on openjdk-6-jdk or openjdk-7-jdk which weren't tested yet:
  automake-1.14
  avian
  beast-mcmc
  clojure1.2
  elki
  hsqldb
  hyperestraier
  icedtea-web
  ikvm
  java-access-bridge
  jcc
  jenkins-winstone (FTBFS with Java 8, fix pending)
  osmosis-plugin-borderextract
  osmpbf
  pegasus-wms
  plm
  radare2-bindings
  uwsgi
  visualvm (already FTBFS due to Ant 1.9)

13 packages have been fixed:
  antlr3
  args4j
  ehcache
  felix-framework
  felix-utils
  groovy
  icu4j-4.4
  icu4j
  jakarta-jmeter
  jython
  libcommons-collections3-java
  logol
  sqljet

2 packages are going to be removed:
  collections15 (#744169)
  libcommons-collections-java (#744226)

3 packages have been fixed upstream and are awaiting a new release:
  basex
  libjdom2-java
  tomcat6
  tomcat7

8 packages have an issue with the Javadoc. For some of them I haven't
been able to reproduce the build error:
  antelope
  libfreemarker-java
  libreoffice
  mina2 ?
  modello1.4 ?
  modello ?
  openvrml
  swing-layout (nasty javadoc crash)

9 packages fail to compile due to a conflict with the methods added to
the collection interfaces:
  eclipse-cdt
  eclipse-egit
  eclipse-emf
  eclipse-wtp
  eclipse-xsd
  jitsi
  mkgmap
  openjpa
  zeroc-ice

4 packages have errors related to the removal of APT:
  glassfish
  jruby
  maven-stapler-plugin
  sezpoz

13 packages have test failures, probably caused by a different order of
execution on Java 8:
  biojava3-live
  caveconverter
  clojure1.4
  commons-exec
  commons-math3
  commons-math
  dynalang
  jgit
  junit4
  libapache-poi-java
  libhibernate-commons-annotations-java
  libitext5-java
  libxmlrpc3-java

4 packages check the JDK used at build time and reject Java 8:
  cdk
  gdcm
  jajuk
  libjibx1.2-java

26 package have other build failures:
  aspectj
  bnd
  cadencii
  cofoja (reported upstream)
  eclipse
  freemind (caused by jibx)
  gluegen2 (false positive?)
  gradle (may be fixed by libasm4-java/5.0.1-1)
  guava-libraries
  guice
  ha-jdbc
  jalview
  jing-trang
  libbluray
  libbtm-java
  libcofoja-java (to be replaced by cofoja)
  libjibx1.1-java
  libjtype-java
  libjxp-java
  libspring-java
  mobile-atlas-creator (needs a proguard update)
  mvel
  openmama
  picard-tools
  rjava
  scala

We aren't done yet and there is plenty of work for volunteers. So feel
free to pick the items you like and report back your progress here.

Emmanuel Bourg

[1] http://anonscm.debian.org/gitweb/?p=pkg-java/openjdk-8.git
[2] http://87.98.165.193/debian/
[3]
http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-April/001024.html
[4] http://hg.openjdk.java.net/openjfx/8u-dev/rt/
[5] http://87.98.165.193/debian/openjdk8-rebuild/logs-failed-jdk8/
[6] http://people.apache.org/~ebourg/openjdk8-rebuild-analysis.xls


Reply to: