Bugzilla – Bug 976102
JavaFX/OpenJFX is not yet packaged
Last modified: 2020-04-16 20:17:44 UTC
I was trying to compile OpenChrom according to https://wiki.openchrom.net/index.php/Development using the Eclipse IDE. A major pain was the JavaFX dependency, which just doesn't exist in openSUSE at all. Purging SUSE's OpenJDK and installing Oracle Java was ultimately the only solution. For Fedora/Mageia and Debian/Ubuntu you can simply install openjfx packages from the repositories. I tried packaging it myself: https://build.opensuse.org/package/show/home:Mailaender:branches:Java:packages/openjfx but pretty much failed early as openSUSE is missing the gradle and the whole xmvn infrastructure so dependencies can't get packaged and resolved. I would like to fill this gap for SUSE to scratch my own itch, but I need some help here.
I'm also surprised the OpenJDK 9 packager went through the pain to remove a now integral part of the JDK before creating RPMs.
(In reply to Daniel Ziltener from comment #1)
> I'm also surprised the OpenJDK 9 packager went through the pain to remove a
> now integral part of the JDK before creating RPMs.
You are assuming something that is not correct without even checking https://build.opensuse.org/package/view_file/Java:Factory/java-9-openjdk/java-9-openjdk.spec?expand=1
As reported asked, feel free to help though.
Fedora/Debian seem to have solved it already: https://pkgs.org/download/javafx
This also blocks the update of the Integrated Development Environment BlueJ from openSUSE education: /home/abuild/rpmbuild/BUILD/bluej-4.1.2/boot/src/bluej/Boot.java:24: error: package javafx.application does not exist
*** Bug 991307 has been marked as a duplicate of this bug. ***
(In reply to Sverre Moe from comment #5)
> *** Bug 991307 has been marked as a duplicate of this bug. ***
In this duplicate bug report it was mentioned the reason for unable to build OpenJFX was because SUSE doesn't build OpenJDK, but IcedTea. Would not the solution be to ditch IcedTea and build OpenJDK from sources like Fedora and Debian does?
You got that wrong. The real reason is that SUSE does not support the Maven/Gradle build system, which is very popular in the Java world. See Bug 963323 which is marked as a dependency here. The xmvn solution that RedHat developed, can't be easily ported to the Open Build Service. See https://fedora-java.github.io/xmvn/ for more details.
So the problem is SUSE OBS doesn't have Maven or Gradle build tools necessary for building OpenJDK and OpenJFX without Icedtea?
Well Maven has been available for a long time at devel:tools:building (though not an official repository), and Gradle are part of the official OpenSUSE distribution.
However from what I have seen from OpenJDK documentation it is built with make not maven/gradle. http://openjdk.java.net/groups/build/
https://build.opensuse.org/package/show/Java:packages/gradle only contains gradle-open-api.jar and not the binary. Also the dependency fetching from Maven Central during build time isn't solved for SUSE and the build service. See https://en.opensuse.org/User:A_faerber/Maven_packaging if you want to help fix this.
I also wanted to add that the lack of Java FX makes openSUSE unsuitable for use by students of (at least) the Tecnical University of Vienna because multiple courses there require Java with Java FX.
From what I have seen by other students Ubuntu has packages available.
(and adding self to CC)
Yes. By now OpenSUSE is the last distribution I know that does not package OpenJFX together with OpenJDK.
*** Bug 1135525 has been marked as a duplicate of this bug. ***
Fridrich Strba has also packaged openjfx. Therefore another bug is closed :-)