Bug#895765: [Debian-med-packaging] Bug#895765: IGV FTBFS with Java 11

2018-11-10 Thread Olivier Sallou
additional remark:

igv will in this case need to depend on java >= 11 as this modification for 
build and runtime will work only for jdk11 and above

this jdk module/deprecation transition is quite a pain and make it difficult to 
get packages work for different jdk versions

- Mail original -
> De: "Markus Koschany" 
> À: 895...@bugs.debian.org
> Envoyé: Vendredi 9 Novembre 2018 16:33:33
> Objet: [Debian-med-packaging] Bug#895765: IGV FTBFS with Java 11

> Hi,
> 
> igv also FTBFS with Java 11 now. However the fix is trivial. The package
> must build-depend on libjaxb-api-java because those classes were removed
> from the JDK. Then you need to remove the
> 
> --add-modules', 'java.xml.bind'
> 
> line in fix_gradle.patch.
> 
> Please find attached a patch that makes the necessary changes to the
> Debian packaging without using a patch.
> 
> Markus
> 
> ___
> Debian-med-packaging mailing list
> debian-med-packag...@alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging



Bug#895765: IGV FTBFS with Java 11

2018-11-09 Thread Markus Koschany
Hi,

igv also FTBFS with Java 11 now. However the fix is trivial. The package
must build-depend on libjaxb-api-java because those classes were removed
from the JDK. Then you need to remove the

--add-modules', 'java.xml.bind'

line in fix_gradle.patch.

Please find attached a patch that makes the necessary changes to the
Debian packaging without using a patch.

Markus
From 86feef76191c245ec314f1efc66f0f6dfba1a634 Mon Sep 17 00:00:00 2001
From: Markus Koschany 
Date: Fri, 9 Nov 2018 16:14:47 +0100
Subject: [PATCH 1/2] B-D on libjaxb-api-java and fix FTBFS with Java 11.

---
 debian/control | 1 +
 debian/rules   | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/debian/control b/debian/control
index 97d88d1..d406b17 100644
--- a/debian/control
+++ b/debian/control
@@ -17,6 +17,7 @@ Build-Depends: default-jdk,
libcommons-net-java,
libhttpclient-java,
libhttpcore-java,
+   libjaxb-api-java,
libjcommon-java,
libjfreechart-java,
libjhdf5-java,
diff --git a/debian/rules b/debian/rules
index 84a526b..dc61fec 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,6 +14,7 @@ override_dh_clean:
 	if [ -e build_java8.gradle ] ; then mv build_java8.gradle build.gradle ; fi
 	rm -f goby-io-igv.jar
 	rm -f batik-codec.jar
+	rm -f lib/jaxb-api.jar
 	dh_clean
 
 override_dh_auto_configure:
@@ -21,3 +22,4 @@ override_dh_auto_configure:
 	cp -a build_java9.gradle build.gradle
 	mv src/main/java9/module-info.java src/main/java9/module-info.java.skip
 	cp debian/log4j.xml src/main/resources/
+	cp /usr/share/java/jaxb-api.jar $(CURDIR)/lib/
-- 
2.19.1



signature.asc
Description: OpenPGP digital signature


Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 08:25 PM, Andreas Tille wrote:
> Hi Olivier,
>
> On Thu, Oct 18, 2018 at 06:18:58PM +0200, Olivier Sallou wrote:
>> testing with your removals, you only need to add to build gradle file
>> the ref to htsjdk
> I've now pushed the freshly stripped upstream version since we
> both agree that a competing htsjdk is not a good idea.
>  
>> I pushed the update on patch (but your copyright patch is not yet there)
>>
>> With this compile "com.github.samtools:htsjdk:debian" and htsjdk jar
>> removed from upstream source, it compiles fine for me.
> I confirm it compiles fine now.  However:
>
>
> $ LC_ALL=C igv
> Error: Unable to initialize main class org.broad.igv.ui.Main
> Caused by: java.lang.NoClassDefFoundError: 
> htsjdk/samtools/seekablestream/ISeekableStreamFactory

I just pulled from git, rebuilt and tried with new deb, and got no
issue, GUI started as expected.
This kind of error suggest that it did not found in igv classpath the
htsjdk.jar (not installed or not in in command classpath).

>
>
> Sorry to admit that we seem to need another iteration to get igv out.
>  
> Thanks a lot for your effort
>
>   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



Bug#895765: IGV

2018-10-18 Thread Andreas Tille
Hi Olivier,

On Thu, Oct 18, 2018 at 06:18:58PM +0200, Olivier Sallou wrote:
> 
> testing with your removals, you only need to add to build gradle file
> the ref to htsjdk

I've now pushed the freshly stripped upstream version since we
both agree that a competing htsjdk is not a good idea.
 
> I pushed the update on patch (but your copyright patch is not yet there)
> 
> With this compile "com.github.samtools:htsjdk:debian" and htsjdk jar
> removed from upstream source, it compiles fine for me.

I confirm it compiles fine now.  However:


$ LC_ALL=C igv
Error: Unable to initialize main class org.broad.igv.ui.Main
Caused by: java.lang.NoClassDefFoundError: 
htsjdk/samtools/seekablestream/ISeekableStreamFactory


Sorry to admit that we seem to need another iteration to get igv out.
 
Thanks a lot for your effort

  Andreas.

-- 
http://fam-tille.de



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 04:06 PM, Andreas Tille wrote:
> Hi Olivier,
>
> On Thu, Oct 18, 2018 at 01:05:12PM +0200, Olivier Sallou wrote:
>>> I tried a patch to use Debian htsjdk, and pushed it. IGV ui starts, but
>>> fails with other X11 errors
>>>
>>> 2018-10-18 10:13:25 ERROR DefaultExceptionHandler:49 - Unhandled exception
>>> java.lang.IllegalArgumentException: Window must not be zero
>>>     at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
>>>     at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
>>>     ..
>>>
>>> this is above my knowledge of gui system in java
>> in fact it seems to work. X11 error occurs when having multiple screens
>> and seems to relate to an openjdk bug [0].
>> With a single screen I could open and manipulate the GUI
>>
>> I have pushed the patch update to manage current hstjdk debian version
> Sounds good.  Unfortunately I made an unfortunate observation:  If I
> apply the following patch:
>
> diff --git a/debian/copyright b/debian/copyright
> index defa779..5305639 100644
> --- a/debian/copyright
> +++ b/debian/copyright
> @@ -1,31 +1,21 @@
>  Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
>  Source: http://www.broadinstitute.org/igv/projects/downloads
>  Files-Excluded:
> -igv.jar
> -batik-codec.jar
> -igv.bat
> -igv.command
> -lib/Jama-*
>  lib/batik*
>  lib/commons*
> -lib/concurrent*
>  lib/guava*
> -lib/jargs*
> +*/htsjdk*.jar
>  lib/jcommon*
>  lib/jfreechart*
> -lib/junit-*
> +*/junit-*.jar
>  lib/log4j-*
> -lib/sam-*
> +*/picard-*.jar
> +*/snappy-java-*.jar
>  lib/swing-layout-*
> -lib/xml-apis-*
> -lib/bcprov*
> -lib/jgrapht*
>  lib/jide-oss-*
> -lib/cofoja*
> -lib/mysql-connector*
>  lib/gson*
> -test/lib/ant.jar
> -test/lib/fest-assert*.jar
> +*/ant.jar
> +*/fest-Assert*.jar
>  test/lib/fest-util*.jar
>  test/lib/fest-reflect*.jar
>  Disclaimer: This package is not part of the Debian operating system.

testing with your removals, you only need to add to build gradle file
the ref to htsjdk


diff --git a/debian/patches/fix_gradle.patch
b/debian/patches/fix_gradle.patch
index 421a147..b2a0ac4 100644
--- a/debian/patches/fix_gradle.patch
+++ b/debian/patches/fix_gradle.patch
@@ -34,7 +34,7 @@ Forwarded: no
  sourceSets {
  main {
  java {
-@@ -45,6 +54,27 @@
+@@ -45,6 +54,28 @@
  dependencies {
  // Use the newer JIDE lib for Java 9 builds
  compile fileTree(dir: 'lib', include: '*.jar', exclude:
'jide-oss-3.5.5.jar') + fileTree(dir: 'lib_java9', include: '*.jar')
@@ -59,10 +59,11 @@ Forwarded: no
 +    compile "org.apache.logging.log4j:log4j-1.2-api:debian"
 +    compile "org.apache.logging.log4j:log4j-core:debian"
 +    compile "org.swinglabs:swing-layout:debian"
++    compile "com.github.samtools:htsjdk:debian"
  testCompile fileTree(dir: 'test/lib', include: '*.jar')
  }
 
-@@ -93,12 +123,13 @@
+@@ -93,12 +124,13 @@
  } 
  compileJava {



I pushed the update on patch (but your copyright patch is not yet there)

With this compile "com.github.samtools:htsjdk:debian" and htsjdk jar
removed from upstream source, it compiles fine for me.

Olivier
>
>
> which does not mention not existing jars but more importantly removes
> those jars we **think** we don't need - specifically  */htsjdk*.jar -
> recreate the tarball and try to build ... the build fails again. :-( Its
> also some htsjdk related error and I think there are more issues in this
> approach.  It seems for whatever reason the build is done against the
> internal copy but the result tries somehow to take the Debian installed
> version.  I'm hesitating to push my changes since than we have a broken
> IGV again.
>
> What do you suggest as next step?  I might create a branch to let others
> have a look.
>
> 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



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 04:06 PM, Andreas Tille wrote:
> Hi Olivier,
>
> On Thu, Oct 18, 2018 at 01:05:12PM +0200, Olivier Sallou wrote:
>>> I tried a patch to use Debian htsjdk, and pushed it. IGV ui starts, but
>>> fails with other X11 errors
>>>
>>> 2018-10-18 10:13:25 ERROR DefaultExceptionHandler:49 - Unhandled exception
>>> java.lang.IllegalArgumentException: Window must not be zero
>>>     at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
>>>     at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
>>>     ..
>>>
>>> this is above my knowledge of gui system in java
>> in fact it seems to work. X11 error occurs when having multiple screens
>> and seems to relate to an openjdk bug [0].
>> With a single screen I could open and manipulate the GUI
>>
>> I have pushed the patch update to manage current hstjdk debian version
> Sounds good.  Unfortunately I made an unfortunate observation:  If I
> apply the following patch:
>
> diff --git a/debian/copyright b/debian/copyright
> index defa779..5305639 100644
> --- a/debian/copyright
> +++ b/debian/copyright
> @@ -1,31 +1,21 @@
>  Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
>  Source: http://www.broadinstitute.org/igv/projects/downloads
>  Files-Excluded:
> -igv.jar
> -batik-codec.jar
> -igv.bat
> -igv.command
> -lib/Jama-*
>  lib/batik*
>  lib/commons*
> -lib/concurrent*
>  lib/guava*
> -lib/jargs*
> +*/htsjdk*.jar

oohhh, I did not see that htsjdk was part of package, though it had been
removed. Explains a few things
I gonna take your updates and test

>  lib/jcommon*
>  lib/jfreechart*
> -lib/junit-*
> +*/junit-*.jar
>  lib/log4j-*
> -lib/sam-*
> +*/picard-*.jar
> +*/snappy-java-*.jar
>  lib/swing-layout-*
> -lib/xml-apis-*
> -lib/bcprov*
> -lib/jgrapht*
>  lib/jide-oss-*
> -lib/cofoja*
> -lib/mysql-connector*
>  lib/gson*
> -test/lib/ant.jar
> -test/lib/fest-assert*.jar
> +*/ant.jar
> +*/fest-Assert*.jar
>  test/lib/fest-util*.jar
>  test/lib/fest-reflect*.jar
>  Disclaimer: This package is not part of the Debian operating system.
>
>
> which does not mention not existing jars but more importantly removes
> those jars we **think** we don't need - specifically  */htsjdk*.jar -
> recreate the tarball and try to build ... the build fails again. :-( Its
> also some htsjdk related error and I think there are more issues in this
> approach.  It seems for whatever reason the build is done against the
> internal copy but the result tries somehow to take the Debian installed
> version.  I'm hesitating to push my changes since than we have a broken
> IGV again.
>
> What do you suggest as next step?  I might create a branch to let others
> have a look.
>
> 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



Bug#895765: IGV

2018-10-18 Thread Andreas Tille
Hi Olivier,

On Thu, Oct 18, 2018 at 01:05:12PM +0200, Olivier Sallou wrote:
> > I tried a patch to use Debian htsjdk, and pushed it. IGV ui starts, but
> > fails with other X11 errors
> >
> > 2018-10-18 10:13:25 ERROR DefaultExceptionHandler:49 - Unhandled exception
> > java.lang.IllegalArgumentException: Window must not be zero
> >     at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
> >     at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
> >     ..
> >
> > this is above my knowledge of gui system in java
> 
> in fact it seems to work. X11 error occurs when having multiple screens
> and seems to relate to an openjdk bug [0].
> With a single screen I could open and manipulate the GUI
> 
> I have pushed the patch update to manage current hstjdk debian version

Sounds good.  Unfortunately I made an unfortunate observation:  If I
apply the following patch:

diff --git a/debian/copyright b/debian/copyright
index defa779..5305639 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,31 +1,21 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Source: http://www.broadinstitute.org/igv/projects/downloads
 Files-Excluded:
-igv.jar
-batik-codec.jar
-igv.bat
-igv.command
-lib/Jama-*
 lib/batik*
 lib/commons*
-lib/concurrent*
 lib/guava*
-lib/jargs*
+*/htsjdk*.jar
 lib/jcommon*
 lib/jfreechart*
-lib/junit-*
+*/junit-*.jar
 lib/log4j-*
-lib/sam-*
+*/picard-*.jar
+*/snappy-java-*.jar
 lib/swing-layout-*
-lib/xml-apis-*
-lib/bcprov*
-lib/jgrapht*
 lib/jide-oss-*
-lib/cofoja*
-lib/mysql-connector*
 lib/gson*
-test/lib/ant.jar
-test/lib/fest-assert*.jar
+*/ant.jar
+*/fest-Assert*.jar
 test/lib/fest-util*.jar
 test/lib/fest-reflect*.jar
 Disclaimer: This package is not part of the Debian operating system.


which does not mention not existing jars but more importantly removes
those jars we **think** we don't need - specifically  */htsjdk*.jar -
recreate the tarball and try to build ... the build fails again. :-( Its
also some htsjdk related error and I think there are more issues in this
approach.  It seems for whatever reason the build is done against the
internal copy but the result tries somehow to take the Debian installed
version.  I'm hesitating to push my changes since than we have a broken
IGV again.

What do you suggest as next step?  I might create a branch to let others
have a look.

Kind regards

   Andreas.


-- 
http://fam-tille.de



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 12:15 PM, Olivier Sallou wrote:
>
> On 10/18/2018 12:03 PM, Olivier Sallou wrote:
>> On 10/18/2018 11:42 AM, Andreas Tille wrote:
>>> Hi Olivier,
>>>
>>> On Thu, Oct 18, 2018 at 11:13:31AM +0200, Olivier Sallou wrote:
> Unfortunately if I start the package I get the following output:
>
> $ igv 
>   
>   
> log4j: reset attribute= "false".
> log4j: Threshold ="null".
> log4j: Retreiving an instance of org.apache.log4j.Logger.
> log4j: Setting [org.broad.igv] additivity to [true].
> log4j: Level value for org.broad.igv is  [INFO].
> log4j: org.broad.igv level set to INFO
> log4j: Class name: [org.apache.log4j.ConsoleAppender]
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} 
> %-5p %c{1}:%L - %m%n].
> log4j: Adding appender named [console] to category [org.broad.igv].
> 2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
> /home/andreas/igv
> 2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
> 2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
> 2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
> 2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
> 2018-10-17 14:38:00 INFO  Main:158 - OS: Linux
>
>
> 2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
> 2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
> java.lang.VerifyError: class 
> org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final 
> method htsjdk.samtools.seekablestream.SeekableStream.mark(I)V
 could be an htsjdk version issue versus what expects igv.
 or getting 2 different definitions of
 htsjdk.samtools.seekablestream.SeekableStream in classpath
>>> I admit I had the same idea.
>
> I tried a patch to use Debian htsjdk, and pushed it. IGV ui starts, but
> fails with other X11 errors
>
> 2018-10-18 10:13:25 ERROR DefaultExceptionHandler:49 - Unhandled exception
> java.lang.IllegalArgumentException: Window must not be zero
>     at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
>     at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
>     ..
>
> this is above my knowledge of gui system in java

in fact it seems to work. X11 error occurs when having multiple screens
and seems to relate to an openjdk bug [0].
With a single screen I could open and manipulate the GUI

I have pushed the patch update to manage current hstjdk debian version


[0] https://bugs.openjdk.java.net/browse/JDK-8204646

Olivier
>>> ... 
> libhtsjdk-java - 2.16.1+dfsg-1
>>> while igv includes
>>>
>>> htsjdk-2.12.0-18-g20ee53e-SNAPSHOT.jar
>> the problem is org.broad.igv.util.stream.IGVSeekableBufferedStream
>> extends a class from htsjdk but redefines a method declared as final,
>> this is forbidden.
>> Don't understand however why it compiles.
>> Recent htsjdk (as we have), includes those methods and cannot be
>> overriden. Version 2.12 did not have those methods.
>>
>> Using internal has the issue we don't have the source code for it
>> (though should match a commit). To get it work, we should simply remove
>> htsjdk related "compile" directive in build gradle file (added via our
>> patch)
>>
>>> I just realised that the Files-Excluded rules do not even remove this.
>>> I assumed this would be excluded - so what about using the internal
>>> code copy?  (Unfortunately I have no idea what to change to let this
>>> happen.)
>>>
>>> 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



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 12:03 PM, Olivier Sallou wrote:
>
> On 10/18/2018 11:42 AM, Andreas Tille wrote:
>> Hi Olivier,
>>
>> On Thu, Oct 18, 2018 at 11:13:31AM +0200, Olivier Sallou wrote:
 Unfortunately if I start the package I get the following output:

 $ igv  

 
 log4j: reset attribute= "false".
 log4j: Threshold ="null".
 log4j: Retreiving an instance of org.apache.log4j.Logger.
 log4j: Setting [org.broad.igv] additivity to [true].
 log4j: Level value for org.broad.igv is  [INFO].
 log4j: org.broad.igv level set to INFO
 log4j: Class name: [org.apache.log4j.ConsoleAppender]
 log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
 log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} 
 %-5p %c{1}:%L - %m%n].
 log4j: Adding appender named [console] to category [org.broad.igv].
 2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
 /home/andreas/igv
 2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
 2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
 2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
 2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
 2018-10-17 14:38:00 INFO  Main:158 - OS: Linux


 2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
 2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
 java.lang.VerifyError: class 
 org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final method 
 htsjdk.samtools.seekablestream.SeekableStream.mark(I)V
>>> could be an htsjdk version issue versus what expects igv.
>>> or getting 2 different definitions of
>>> htsjdk.samtools.seekablestream.SeekableStream in classpath
>> I admit I had the same idea.


I tried a patch to use Debian htsjdk, and pushed it. IGV ui starts, but
fails with other X11 errors

2018-10-18 10:13:25 ERROR DefaultExceptionHandler:49 - Unhandled exception
java.lang.IllegalArgumentException: Window must not be zero
    at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
    at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
    ..

this is above my knowledge of gui system in java
>>
>> ... 
 libhtsjdk-java - 2.16.1+dfsg-1
>> while igv includes
>>
>> htsjdk-2.12.0-18-g20ee53e-SNAPSHOT.jar
> the problem is org.broad.igv.util.stream.IGVSeekableBufferedStream
> extends a class from htsjdk but redefines a method declared as final,
> this is forbidden.
> Don't understand however why it compiles.
> Recent htsjdk (as we have), includes those methods and cannot be
> overriden. Version 2.12 did not have those methods.
>
> Using internal has the issue we don't have the source code for it
> (though should match a commit). To get it work, we should simply remove
> htsjdk related "compile" directive in build gradle file (added via our
> patch)
>
>> I just realised that the Files-Excluded rules do not even remove this.
>> I assumed this would be excluded - so what about using the internal
>> code copy?  (Unfortunately I have no idea what to change to let this
>> happen.)
>>
>> 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



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/18/2018 11:42 AM, Andreas Tille wrote:
> Hi Olivier,
>
> On Thu, Oct 18, 2018 at 11:13:31AM +0200, Olivier Sallou wrote:
>>> Unfortunately if I start the package I get the following output:
>>>
>>> $ igv   
>>> 
>>>   
>>> log4j: reset attribute= "false".
>>> log4j: Threshold ="null".
>>> log4j: Retreiving an instance of org.apache.log4j.Logger.
>>> log4j: Setting [org.broad.igv] additivity to [true].
>>> log4j: Level value for org.broad.igv is  [INFO].
>>> log4j: org.broad.igv level set to INFO
>>> log4j: Class name: [org.apache.log4j.ConsoleAppender]
>>> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
>>> log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} 
>>> %-5p %c{1}:%L - %m%n].
>>> log4j: Adding appender named [console] to category [org.broad.igv].
>>> 2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
>>> /home/andreas/igv
>>> 2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
>>> 2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
>>> 2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
>>> 2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
>>> 2018-10-17 14:38:00 INFO  Main:158 - OS: Linux
>>>
>>>
>>> 2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
>>> 2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
>>> java.lang.VerifyError: class 
>>> org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final method 
>>> htsjdk.samtools.seekablestream.SeekableStream.mark(I)V
>> could be an htsjdk version issue versus what expects igv.
>> or getting 2 different definitions of
>> htsjdk.samtools.seekablestream.SeekableStream in classpath
> I admit I had the same idea.
>
> ... 
>>> libhtsjdk-java - 2.16.1+dfsg-1
> while igv includes
>
> htsjdk-2.12.0-18-g20ee53e-SNAPSHOT.jar

the problem is org.broad.igv.util.stream.IGVSeekableBufferedStream
extends a class from htsjdk but redefines a method declared as final,
this is forbidden.
Don't understand however why it compiles.
Recent htsjdk (as we have), includes those methods and cannot be
overriden. Version 2.12 did not have those methods.

Using internal has the issue we don't have the source code for it
(though should match a commit). To get it work, we should simply remove
htsjdk related "compile" directive in build gradle file (added via our
patch)

>
> I just realised that the Files-Excluded rules do not even remove this.
> I assumed this would be excluded - so what about using the internal
> code copy?  (Unfortunately I have no idea what to change to let this
> happen.)
>
> 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



Bug#895765: IGV

2018-10-18 Thread Andreas Tille
Hi Olivier,

On Thu, Oct 18, 2018 at 11:13:31AM +0200, Olivier Sallou wrote:
> 
> > Unfortunately if I start the package I get the following output:
> >
> > $ igv   
> > 
> >   
> > log4j: reset attribute= "false".
> > log4j: Threshold ="null".
> > log4j: Retreiving an instance of org.apache.log4j.Logger.
> > log4j: Setting [org.broad.igv] additivity to [true].
> > log4j: Level value for org.broad.igv is  [INFO].
> > log4j: org.broad.igv level set to INFO
> > log4j: Class name: [org.apache.log4j.ConsoleAppender]
> > log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> > log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} 
> > %-5p %c{1}:%L - %m%n].
> > log4j: Adding appender named [console] to category [org.broad.igv].
> > 2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
> > /home/andreas/igv
> > 2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
> > 2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
> > 2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
> > 2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
> > 2018-10-17 14:38:00 INFO  Main:158 - OS: Linux
> >
> >
> > 2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
> > 2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
> > java.lang.VerifyError: class 
> > org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final method 
> > htsjdk.samtools.seekablestream.SeekableStream.mark(I)V
> 
> could be an htsjdk version issue versus what expects igv.
> or getting 2 different definitions of
> htsjdk.samtools.seekablestream.SeekableStream in classpath

I admit I had the same idea.

... 
> > libhtsjdk-java - 2.16.1+dfsg-1

while igv includes

htsjdk-2.12.0-18-g20ee53e-SNAPSHOT.jar

I just realised that the Files-Excluded rules do not even remove this.
I assumed this would be excluded - so what about using the internal
code copy?  (Unfortunately I have no idea what to change to let this
happen.)

Kind regards

  Andreas.

-- 
http://fam-tille.de



Bug#895765: IGV

2018-10-18 Thread Olivier Sallou



On 10/17/2018 02:57 PM, Andreas Tille wrote:
> On Wed, Oct 17, 2018 at 02:09:10PM +0200, Olivier Sallou wrote:
 in progress (not uploaded) igv packaging *should* be ok, but needs testing
>>> That's a problem for Bio-Linux 9 / Ubuntu 18.04 LTS, because the default
>>> is now Java 10 and the only other Java in the standard repo's is Java 8.
>> well, in my package env for new igv, I use Java 10, so will nto be a pb
> I can confirm that the package now builds also on my side
>
> Unfortunately if I start the package I get the following output:
>
> $ igv 
>   
>   
> log4j: reset attribute= "false".
> log4j: Threshold ="null".
> log4j: Retreiving an instance of org.apache.log4j.Logger.
> log4j: Setting [org.broad.igv] additivity to [true].
> log4j: Level value for org.broad.igv is  [INFO].
> log4j: org.broad.igv level set to INFO
> log4j: Class name: [org.apache.log4j.ConsoleAppender]
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} %-5p 
> %c{1}:%L - %m%n].
> log4j: Adding appender named [console] to category [org.broad.igv].
> 2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
> /home/andreas/igv
> 2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
> 2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
> 2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
> 2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
> 2018-10-17 14:38:00 INFO  Main:158 - OS: Linux
>
>
> 2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
> 2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
> java.lang.VerifyError: class 
> org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final method 
> htsjdk.samtools.seekablestream.SeekableStream.mark(I)V

could be an htsjdk version issue versus what expects igv.
or getting 2 different definitions of
htsjdk.samtools.seekablestream.SeekableStream in classpath

> at java.base/java.lang.ClassLoader.defineClass1(Native Method)
> at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009)
> at 
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
> at 
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
> at 
> java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699)
> at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622)
> at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
> at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
> at org.broad.igv.ui.Main.open(Main.java:282)
> at org.broad.igv.ui.Main$1.run(Main.java:109)
> at 
> java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
> at 
> java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
> at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
> at java.base/java.security.AccessController.doPrivileged(Native 
> Method)
> at 
> java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
> at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
> at 
> java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
> at 
> java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
> at 
> java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
> at 
> java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
> at 
> java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> at 
> java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
> 2018-10-17 14:38:01 INFO  ShutdownThread:46 - Shutting down
>
>
> I'm running an up to date testing system.  Here is what reportbug
> generates:
>
> -- System Information:
> Debian Release: buster/sid
>   APT prefers testing
>   APT policy: (501, 'testing'), (50, 'buildd-unstable'), (50, 'unstable'), 
> (5, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores)
> Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), 
> LAN

Bug#895765: IGV

2018-10-17 Thread Andreas Tille
On Wed, Oct 17, 2018 at 02:09:10PM +0200, Olivier Sallou wrote:
> >> in progress (not uploaded) igv packaging *should* be ok, but needs testing
> > That's a problem for Bio-Linux 9 / Ubuntu 18.04 LTS, because the default
> > is now Java 10 and the only other Java in the standard repo's is Java 8.
> 
> well, in my package env for new igv, I use Java 10, so will nto be a pb

I can confirm that the package now builds also on my side

Unfortunately if I start the package I get the following output:

$ igv   

  
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.broad.igv] additivity to [true].
log4j: Level value for org.broad.igv is  [INFO].
log4j: org.broad.igv level set to INFO
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{-MM-dd HH:mm:ss} %-5p 
%c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [org.broad.igv].
2018-10-17 14:37:58 INFO  DirectoryManager:179 - IGV Directory: 
/home/andreas/igv
2018-10-17 14:37:59 INFO  Main:155 - Startup  IGV Version user not_set
2018-10-17 14:37:59 INFO  Main:156 - Java 10.0.2
2018-10-17 14:37:59 INFO  DirectoryManager:84 - Fetching user directory...
2018-10-17 14:37:59 INFO  Main:157 - Default User Directory: /home/andreas
2018-10-17 14:38:00 INFO  Main:158 - OS: Linux


2018-10-17 14:38:00 INFO  Main:208 - Unknown version: user
2018-10-17 14:38:00 ERROR DefaultExceptionHandler:49 - Unhandled exception
java.lang.VerifyError: class 
org.broad.igv.util.stream.IGVSeekableBufferedStream overrides final method 
htsjdk.samtools.seekablestream.SeekableStream.mark(I)V
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009)
at 
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at 
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
at 
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699)
at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622)
at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at org.broad.igv.ui.Main.open(Main.java:282)
at org.broad.igv.ui.Main$1.run(Main.java:109)
at 
java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at 
java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at 
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at 
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at 
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at 
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at 
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at 
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at 
java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2018-10-17 14:38:01 INFO  ShutdownThread:46 - Shutting down


I'm running an up to date testing system.  Here is what reportbug
generates:

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (501, 'testing'), (50, 'buildd-unstable'), (50, 'unstable'), (5, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), 
LANGUAGE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information


Ups, that's a bit less.  H. no idea why that's only so few
information.  Here is a bit more:

$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Debian-1)
OpenJDK 64-Bit Server VM 

Bug#895765: igv: FTBFS with java 9

2018-04-16 Thread Olivier Sallou


On 04/16/2018 04:38 PM, Andreas Tille wrote:
> Hi Olivier,
>
> could you provide a patch assumed we'll stick to Java 9 and higher?

I tried to add module, but javafx module is not found on system.
In debian package, I found only openjfx8, no port available for java9 ?
There is a bug [0] requesting version for jdk9 but it seems it is not
yet available

javafx is used for user interface, don't think we can remove it


[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=850921
>
> (Could you also have a look into artemis, htsjdk and picard-tools
> if your time permits?)
>
> Kind regards
>
>   Andreas.
>
> On Mon, Apr 16, 2018 at 10:17:57AM +0200, Olivier Sallou wrote:
>>
>> On 04/16/2018 09:32 AM, Bas Couwenberg wrote:
>>> On 2018-04-16 08:18, Andreas Tille wrote:
 it seems something has changed with openfx since the errors below are
 all mentioning something like "import javafx. ...".  Do you have any
 hint how this can be fixed?
>>> There is no OpenJFX for OpenJDK 9, see:
>>>
>>>  https://lists.debian.org/debian-java/2018/04/msg3.html
>> indeed Java 9 removed some packages from *core* java and were moved to
>> additional modules to add at compilation/runtime.
>> Problem is this is not transparent/compatible with java <= 8.
>> So, to support java 9 AND below, you need specific scripts that detect
>> java version and act accordingly. This is not really cool to do and
>> maintain.
>>
>> As proposed, either javafx can be removed from code, either we shoud
>> stick to Java 9 and superior and add the javafx module.
>> there is an example in biojava4 for a build.xml:
>>
>>
>>        
>>           
>>           
>>   .
>>
>> this example used java.se.ee module.
>>
>> For javafx, there are several modules [0]:
>>
>> * Base APIs for JavaFX UI Toolkit — javafx.base
>> * JavaFX APIs for UI Controls — javafx.controls
>> * JavaFX APIs for FXML — javafx.fxml
>> * JavaFX APIs for various Graphics Tools— javafx.graphics
>> * JavaFX APIs for Multimedia — javafx.media
>> * JavaFX APIs for Swing-JavaFX Interoperability — javafx.swing
>> * JavaFX APIs for WebView Functionality — javafx.web
>>
>>
>> To add multiple modules, one need to separate them with comma.
>>
>> [0]
>> https://medium.com/@afinlay/whats-new-in-java-fx-java-9-updates-a90dd3d4dbba
>>
>>
>>
>>> If the package works without JavaFX you should consider disabling that
>>> for the time being.
>>>
>>> You can also explicitly build with OpenJDK 8, but that will just get
>>> you a different RC bug because openjdk-8 will not be in buster.
>>>
>>> Kind Regards,
>>>
>>> Bas
>>>
>> -- 
>> 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
>>
>>
>>

-- 
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



Bug#895765: igv: FTBFS with java 9

2018-04-16 Thread Andreas Tille
Hi Olivier,

could you provide a patch assumed we'll stick to Java 9 and higher?

(Could you also have a look into artemis, htsjdk and picard-tools
if your time permits?)

Kind regards

  Andreas.

On Mon, Apr 16, 2018 at 10:17:57AM +0200, Olivier Sallou wrote:
> 
> 
> On 04/16/2018 09:32 AM, Bas Couwenberg wrote:
> > On 2018-04-16 08:18, Andreas Tille wrote:
> >> it seems something has changed with openfx since the errors below are
> >> all mentioning something like "import javafx. ...".  Do you have any
> >> hint how this can be fixed?
> >
> > There is no OpenJFX for OpenJDK 9, see:
> >
> >  https://lists.debian.org/debian-java/2018/04/msg3.html
> 
> indeed Java 9 removed some packages from *core* java and were moved to
> additional modules to add at compilation/runtime.
> Problem is this is not transparent/compatible with java <= 8.
> So, to support java 9 AND below, you need specific scripts that detect
> java version and act accordingly. This is not really cool to do and
> maintain.
> 
> As proposed, either javafx can be removed from code, either we shoud
> stick to Java 9 and superior and add the javafx module.
> there is an example in biojava4 for a build.xml:
> 
> 
>        
>           
>           
>   .
> 
> this example used java.se.ee module.
> 
> For javafx, there are several modules [0]:
> 
> * Base APIs for JavaFX UI Toolkit — javafx.base
> * JavaFX APIs for UI Controls — javafx.controls
> * JavaFX APIs for FXML — javafx.fxml
> * JavaFX APIs for various Graphics Tools— javafx.graphics
> * JavaFX APIs for Multimedia — javafx.media
> * JavaFX APIs for Swing-JavaFX Interoperability — javafx.swing
> * JavaFX APIs for WebView Functionality — javafx.web
> 
> 
> To add multiple modules, one need to separate them with comma.
> 
> [0]
> https://medium.com/@afinlay/whats-new-in-java-fx-java-9-updates-a90dd3d4dbba
> 
> 
> 
> >
> > If the package works without JavaFX you should consider disabling that
> > for the time being.
> >
> > You can also explicitly build with OpenJDK 8, but that will just get
> > you a different RC bug because openjdk-8 will not be in buster.
> >
> > Kind Regards,
> >
> > Bas
> >
> 
> -- 
> 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
> 
> 
> 

-- 
http://fam-tille.de



Bug#895765: igv: FTBFS with java 9

2018-04-16 Thread Olivier Sallou


On 04/16/2018 09:32 AM, Bas Couwenberg wrote:
> On 2018-04-16 08:18, Andreas Tille wrote:
>> it seems something has changed with openfx since the errors below are
>> all mentioning something like "import javafx. ...".  Do you have any
>> hint how this can be fixed?
>
> There is no OpenJFX for OpenJDK 9, see:
>
>  https://lists.debian.org/debian-java/2018/04/msg3.html

indeed Java 9 removed some packages from *core* java and were moved to
additional modules to add at compilation/runtime.
Problem is this is not transparent/compatible with java <= 8.
So, to support java 9 AND below, you need specific scripts that detect
java version and act accordingly. This is not really cool to do and
maintain.

As proposed, either javafx can be removed from code, either we shoud
stick to Java 9 and superior and add the javafx module.
there is an example in biojava4 for a build.xml:


       
          
          
  .

this example used java.se.ee module.

For javafx, there are several modules [0]:

* Base APIs for JavaFX UI Toolkit — javafx.base
* JavaFX APIs for UI Controls — javafx.controls
* JavaFX APIs for FXML — javafx.fxml
* JavaFX APIs for various Graphics Tools— javafx.graphics
* JavaFX APIs for Multimedia — javafx.media
* JavaFX APIs for Swing-JavaFX Interoperability — javafx.swing
* JavaFX APIs for WebView Functionality — javafx.web


To add multiple modules, one need to separate them with comma.

[0]
https://medium.com/@afinlay/whats-new-in-java-fx-java-9-updates-a90dd3d4dbba



>
> If the package works without JavaFX you should consider disabling that
> for the time being.
>
> You can also explicitly build with OpenJDK 8, but that will just get
> you a different RC bug because openjdk-8 will not be in buster.
>
> Kind Regards,
>
> Bas
>

-- 
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



Bug#895765: igv: FTBFS with java 9

2018-04-16 Thread Bas Couwenberg

On 2018-04-16 08:18, Andreas Tille wrote:

it seems something has changed with openfx since the errors below are
all mentioning something like "import javafx. ...".  Do you have any
hint how this can be fixed?


There is no OpenJFX for OpenJDK 9, see:

 https://lists.debian.org/debian-java/2018/04/msg3.html

If the package works without JavaFX you should consider disabling that 
for the time being.


You can also explicitly build with OpenJDK 8, but that will just get you 
a different RC bug because openjdk-8 will not be in buster.


Kind Regards,

Bas



Bug#895765: igv: FTBFS with java 9

2018-04-15 Thread Andreas Tille
Hi,

it seems something has changed with openfx since the errors below are
all mentioning something like "import javafx. ...".  Do you have any
hint how this can be fixed?

Kind regards

Andreas.

On Sun, Apr 15, 2018 at 08:55:57PM +0200, Andreas Beckmann wrote:
> Source: igv
> Version: 2.4.6+dfsg-1
> Severity: serious
> Justification: fails to build from source
> 
> ...
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:7: 
> error: package javafx.application does not exist
> [javac] import javafx.application.Platform;
> [javac]  ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:8: 
> error: package javafx.embed.swing does not exist
> [javac] import javafx.embed.swing.JFXPanel;
> [javac]  ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:9: 
> error: package javafx.geometry does not exist
> [javac] import javafx.geometry.Pos;
> [javac]   ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:10: 
> error: package javafx.scene does not exist
> [javac] import javafx.scene.Node;
> [javac]^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:11: 
> error: package javafx.scene does not exist
> [javac] import javafx.scene.Scene;
> [javac]^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:13: 
> error: package javafx.scene.layout does not exist
> [javac] import javafx.scene.layout.GridPane;
> [javac]   ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:14: 
> error: package javafx.scene.layout does not exist
> [javac] import javafx.scene.layout.StackPane;
> [javac]   ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:15: 
> error: package javafx.scene.layout does not exist
> [javac] import javafx.scene.layout.VBox;
> [javac]   ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:16: 
> error: package javafx.scene.paint does not exist
> [javac] import javafx.scene.paint.Color;
> [javac]  ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:17: 
> error: package javafx.scene.text does not exist
> [javac] import javafx.scene.text.Text;
> [javac] ^
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:45: 
> error: cannot find symbol
> [javac] static Color lightGray = new Color(0.9, 0.9, 0.9, 0.5);
> [javac]^
> [javac]   symbol:   class Color
> [javac]   location: class Cravat
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:77: 
> error: cannot find symbol
> [javac] private static void initFX(JFXPanel fxPanel, JsonObject 
> jsonObject) {
> [javac]^
> [javac]   symbol:   class JFXPanel
> [javac]   location: class Cravat
> [javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:12: 
> error: package javafx.scene.control does not exist
> [javac] import javafx.scene.control.*;
> [javac] ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:3: 
> error: package javafx.application does not exist
> [javac] import javafx.application.Platform;
> [javac]  ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:4: 
> error: package javafx.beans.value does not exist
> [javac] import javafx.beans.value.ChangeListener;
> [javac]  ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:5: 
> error: package javafx.beans.value does not exist
> [javac] import javafx.beans.value.ObservableValue;
> [javac]  ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:6: 
> error: package javafx.collections does not exist
> [javac] import javafx.collections.FXCollections;
> [javac]  ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:7: 
> error: package javafx.embed.swing does not exist
> [javac] import javafx.embed.swing.JFXPanel;
> [javac]  ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:8: 
> error: package javafx.geometry does not exist
> [javac] import javafx.geometry.HPos;
> [javac]   ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/PreferenceEditorFX.java:9: 
> error: package javafx.geometry does not exist
> [javac] import javafx.geometry.Insets;
> [javac]   ^
> [javac] 
> /build/igv-2.4.6+dfsg/src/org/broad/igv/prefs/Prefer

Bug#895765: igv: FTBFS with java 9

2018-04-15 Thread Andreas Beckmann
Source: igv
Version: 2.4.6+dfsg-1
Severity: serious
Justification: fails to build from source

Hi,

igv FTBFS with openjdk-9 as the default jdk:

 debian/rules build
dh  build --with javahelper
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   jh_linkjars
   dh_auto_build
ant -Duser.name debian
Buildfile: /build/igv-2.4.6+dfsg/build.xml

clean:

init:
[mkdir] Created dir: /build/igv-2.4.6+dfsg/tmp
[mkdir] Created dir: /build/igv-2.4.6+dfsg/testtmp
 [copy] Copying 133 files to /build/igv-2.4.6+dfsg/tmp
 [copy] Copied 115 empty directories to 61 empty directories under 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/AbsoluteLayout.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/goby-io-igv__V1.0.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: 
/build/igv-2.4.6+dfsg/lib/htsjdk-2.12.0-18-g20ee53e-SNAPSHOT.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/jlfgr-1_0.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/mongo-java-driver-2.11.3.jar 
into /build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/na12878kb-utils.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/ojdbc6.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/picard-lib.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/snappy-java-1.1.4.jar into 
/build/igv-2.4.6+dfsg/tmp
[unjar] Expanding: /build/igv-2.4.6+dfsg/lib/sqlitejdbc-v056.jar into 
/build/igv-2.4.6+dfsg/tmp

prepare:
 [echo] Target File: /build/igv-2.4.6+dfsg/tmp/resources/about.properties
 [echo] Version user
 [echo] Build 0

rewrite-log:

compile:
[javac] Compiling 910 source files to /build/igv-2.4.6+dfsg/tmp
[javac] warning: [options] bootstrap class path not set in conjunction with 
-source 1.8
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by 
com.google.java.contract.core.apt.AnnotationProcessor 
(file:/usr/share/java/cofoja.jar) to method 
com.sun.tools.javac.processing.JavacProcessingEnvironment.getContext()
WARNING: Please consider reporting this to the maintainers of 
com.google.java.contract.core.apt.AnnotationProcessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:7: error: 
package javafx.application does not exist
[javac] import javafx.application.Platform;
[javac]  ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:8: error: 
package javafx.embed.swing does not exist
[javac] import javafx.embed.swing.JFXPanel;
[javac]  ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:9: error: 
package javafx.geometry does not exist
[javac] import javafx.geometry.Pos;
[javac]   ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:10: 
error: package javafx.scene does not exist
[javac] import javafx.scene.Node;
[javac]^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:11: 
error: package javafx.scene does not exist
[javac] import javafx.scene.Scene;
[javac]^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:13: 
error: package javafx.scene.layout does not exist
[javac] import javafx.scene.layout.GridPane;
[javac]   ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:14: 
error: package javafx.scene.layout does not exist
[javac] import javafx.scene.layout.StackPane;
[javac]   ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:15: 
error: package javafx.scene.layout does not exist
[javac] import javafx.scene.layout.VBox;
[javac]   ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:16: 
error: package javafx.scene.paint does not exist
[javac] import javafx.scene.paint.Color;
[javac]  ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:17: 
error: package javafx.scene.text does not exist
[javac] import javafx.scene.text.Text;
[javac] ^
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:45: 
error: cannot find symbol
[javac] static Color lightGray = new Color(0.9, 0.9, 0.9, 0.5);
[javac]^
[javac]   symbol:   class Color
[javac]   location: class Cravat
[javac] /build/igv-2.4.6+dfsg/src/org/broad/igv/mupit/Cravat.java:77: 
error: cannot find symbol
[javac] private static