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

Re: openjfx usage in megan-ce



Hi Felix,

On Sat, May 20, 2017 at 04:23:31PM +0200, Felix Natter wrote:
> > 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.

It is in experimental due to freeze policy.
 
> >     [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
> [...]
> javafx/geometry/Insets.class
> [...]

Sounds convincing. :-)
 
> 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 @@
>  /usr/share/java/megan-ce.jar:
>   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

I've just pushed

$ git diff
diff --git a/debian/manifest b/debian/manifest
index 9b9c713..5b60c58 100644
--- a/debian/manifest
+++ b/debian/manifest
@@ -1,3 +1,3 @@
 /usr/share/java/megan-ce.jar:
  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
diff --git a/debian/rules b/debian/rules
index 33c5000..c912afc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,7 @@ export LC_ALL=C.UTF-8
 DEBPKGNAME     := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2}')
 
 DEBJAR    := /usr/share/java
-CLASS_PATH := $(DEBJAR)/jloda.jar:$(DEBJAR)/colt.jar:$(DEBJAR)/commons-math3.jar:$(DEBJAR)/gson.jar:/usr/share/java/openjfx/lib/javafx-mx.jar
+CLASS_PATH := $(DEBJAR)/jloda.jar:$(DEBJAR)/colt.jar:$(DEBJAR)/commons-math3.jar:$(DEBJAR)/gson.jar:$(DEBJAR)/openjfx/jre/lib/ext/jfxrt.jar
 
 %:
        dh $@ --with javahelper


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

As I said this is in experimental.  I also noticed that there is not
only trouble with javafx:

...
    [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/biom/BiomData.java:21: error: package com.google.gson does not exist
    [javac] import com.google.gson.Gson;
    [javac]                       ^
    [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:22: error: package javafx.application does not exist
    [javac] import javafx.application.Application;
    [javac]                          ^
    [javac] /build/megan-ce-0.0+20170515/antbuild/src/megan/blastclient/BlastProgram.java:23: error: package javafx.beans.value does not exist
    [javac] import javafx.beans.value.ChangeListener;
...

So Gson is also not found. :-( 

Thanks for your help anyway

     Andreas.

-- 
http://fam-tille.de


Reply to: