[Debian-med-packaging] openjfx usage in megan-ce

Felix Natter fnatter at gmx.net
Sat May 20 14:23:31 UTC 2017

Andreas Tille <andreas at an3as.eu> writes:

> Hi,

hello Andreas,

> I had a first packaging centric look on megan-ce[1].  While there
> are several problems I stumbled upon several compile errors like

I cannot currently build this because my libjloda-java is at 0.0+20161018.

>     [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:28: error: package javafx.geometry does not exist
>     [javac] import javafx.geometry.Insets;
>     [javac]                       ^
>     [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:29: error: package javafx.scene does not exist
>     [javac] import javafx.scene.Scene;
>     [javac]                    ^
>     [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:30: error: package javafx.scene.control does not exist
>     [javac] import javafx.scene.control.*;
>     [javac] ^
>     [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:31: error: package javafx.scene.layout does not exist
>     [javac] import javafx.scene.layout.BorderPane;
>     [javac]                           ^
>     [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:32: error: package javafx.scene.layout does not exist
>     [javac] import javafx.scene.layout.HBox;
>     [javac]                           ^
> To solve this I added libopenjfx-java Build-Dependency but this does not
> seem to help.  Any idea how I could fix this?

You have put the wrong openjfx jar into debian/manifest:

$ jar tf /usr/share/java/openjfx/lib/javafx-mx.jar | grep javafx.geometry
<no output>

$ jar tf /usr/share/java/openjfx/jre/lib/ext/jfxrt.jar | grep javafx.geometry

This simple patch should work:

diff --git a/debian/manifest b/debian/manifest
index 9b9c713..5b60c58 100644
--- a/debian/manifest
+++ b/debian/manifest
@@ -1,3 +1,3 @@
  Main-Class: megan-ce.MeganRun
- Class-Path: /usr/share/java/jloda.jar /usr/share/java/colt.jar /usr/share/java/commons-math3.jar /usr/share/java/gson.jar /usr/share/java/openjfx/lib/javafx-mx.jar
+ Class-Path: /usr/share/java/jloda.jar /usr/share/java/colt.jar /usr/share/java/commons-math3.jar /usr/share/java/gson.jar /usr/share/java/openjfx/jre/lib/ext/jfxrt.jar

If you need more help with this package, please tell me how to get
libjloda-java (>= 0.0+20170502).

Cheers and Best Regards,
Felix Natter

More information about the Debian-med-packaging mailing list