[Debian-med-packaging] Bug#893409: pixelmed FTBFS with openjdk-9

Olivier Sallou olivier.sallou at irisa.fr
Wed Dec 19 17:37:04 GMT 2018


On 12/19/18 11:46 AM, Andreas Tille wrote:
> Hi,
>
> On Wed, Dec 19, 2018 at 10:39:55AM +0100, Olivier Sallou wrote:
>>> The missing class is in libjaxb-api-java. Just make sure it's on the
>>> CLASSPATH.
>> yeap, an other issue at java migration to openjdk 10/11
>>
>> Adding this lib to deps should fix the pb

- I have fixed the problem, updating patch (lib needed to be added to
other Makefile)

- There were some other issues with an old jdk package moved to an other
location, from JDK 9 in 2016, which is not exported [0]. Surprisingly it
compiles anyway, but does it work as expected....?? It seems there is a
new API (java.lang.ref.Cleaner) but I'm not sure it could be replaced as
easily (and without knowing side effects), it should be updated by upstream

In the meanwhile I renamed the related package in patch.

- vecmath needed to be added as well in Makefile (done)

- javadoc generation classpath needed to be updated as well (done)

- I think that vecmath and jaxb-api jars will need to be added in
runtime classpath (debian/DicomXX etc..) as well   (NOT done)

- 4 tests are failing (surprisingly, packaging continues)

- lintian: some errors, documentation is not in correct directory
(libpixelmed-java-doc expects files in
/usr/share/doc/libpixelmed-java-doc but doc is in
/usr/share/doc/libpixelmed-java) (NOT fixed)



I have pushed my updates to git (file not found , certainly a result not
generated, but no additional info)


[0] https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8148117

Olivier

> Thanks for the quick help.  I tried:
>
>
> diff --git a/debian/control b/debian/control
> index e0548ee..3f8b86c 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -14,7 +14,8 @@ Build-Depends-Indep: default-jdk,
>                       libjmdns-java,
>                       libvecmath-java,
>                       libpixelmed-codec-java,
> -                     libjsonp-java
> +                     libjsonp-java,
> +                     libjaxb-api-java
>  Standards-Version: 4.2.1
>  Vcs-Browser: https://salsa.debian.org/med-team/pixelmed
>  Vcs-Git: https://salsa.debian.org/med-team/pixelmed.git
> diff --git a/debian/patches/fixdoc.patch b/debian/patches/fixdoc.patch
> index 752b78c..1737f5f 100644
> --- a/debian/patches/fixdoc.patch
> +++ b/debian/patches/fixdoc.patch
> @@ -11,7 +11,7 @@ Index: pixelmed-20140326/Makefile
>         rm -rf docs/javadoc
>         javadoc \
>  -              -classpath .:lib/additional/excalibur-bzip2-1.0.jar:lib/additional/hsqldb.jar:lib/additional/vecmath1.2-1.14.jar:lib/additional/commons-codec-1.3.jar:lib/additional/commons-net2.jar:lib/additional/jmdns.jar:lib/additional/jpedalSTD.jar:lib/junit/junit-4.8.1.jar \
> -+              -classpath .:/usr/share/java/excalibur-bzip2-1.0.jar:/usr/share/java/hsqldb.jar:/usr/share/java/vecmath.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-net2.jar:/usr/share/java/jmdns.jar:/usr/share/java/jpedalSTD.jar:/usr/share/java/junit4.jar \
> ++              -classpath .:/usr/share/java/excalibur-bzip2-1.0.jar:/usr/share/java/hsqldb.jar:/usr/share/java/vecmath.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-net2.jar:/usr/share/java/jmdns.jar:/usr/share/java/jpedalSTD.jar:/usr/share/java/junit4.jar:/usr/share/java/jaxb-api.jar \
>                 -link http://download.oracle.com/javase/1.5.0/docs/api/ \
>                 -link http://jpedal.org/javadoc/ \
>                 -link http://www.hsqldb.org/doc/src/ \
> diff --git a/debian/patches/jaxb-api.patch b/debian/patches/jaxb-api.patch
> new file mode 100644
> index 0000000..85760dd
> --- /dev/null
> +++ b/debian/patches/jaxb-api.patch
> @@ -0,0 +1,16 @@
> +Description: For OpenJDK 11 jaxb needs to be in classpath
> +Bug-Debian: https://bugs.debian.org/893409
> +Author: Andreas Tille <tille at debian.org>
> +Last-Update: Wed, 19 Dec 2018 08:53:43 +0100
> +
> +--- a/Makefile.common.mk
> ++++ b/Makefile.common.mk
> +@@ -65,7 +65,7 @@ JAVACOPTIONS = -O ${JAVACTARGETOPTIONS}
> + 
> + .java.class:
> +       export JAVAVERSIONTARGETJARFILE=${JAVA_HOME}/jre/lib/rt.jar; javac ${JAVACOPTIONS} \
> +-              -classpath ${PATHTOROOT}:${DICOMADDITIONALJARS}:${VIEWERADDITIONALJARS}:${FTPADDITIONALJARS}:${JUNITJAR} \
> ++              -classpath ${PATHTOROOT}:${DICOMADDITIONALJARS}:${VIEWERADDITIONALJARS}:${FTPADDITIONALJARS}:${JUNITJAR}:/usr/share/java/jaxb-api.jar \
> +               -sourcepath ${PATHTOROOT} $<
> + 
> + .png.ico:
> diff --git a/debian/patches/series b/debian/patches/series
> index 10286d4..6abfc45 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -16,3 +16,4 @@ set_java_home.patch
>  imageio.patch
>  no_Xdiags_verbose.patch
>  do_not_set_bootclasspath.patch
> +jaxb-api.patch
>
>
>
> I've pushed these changes but unfortunately it does not help. :-(
>
> Any further hints?
>
> Kind regards
>
>       Andreas.
>
>
-- 
Olivier Sallou
Univ Rennes, Inria, CNRS, IRISA
Irisa, Campus de Beaulieu
F-35042 RENNES - FRANCE
Tel: 02.99.84.71.95

gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438



More information about the Debian-med-packaging mailing list