Installation in Ubuntu 21.10-based

I just can’t manage to install the 5.x Version in Pop OS 21.10 (based on Ubuntu 21.10). I tried 5.5 and 5.6 .deb and portable 5.5 and 5.6 (.tar.gz), yet all show the same error:

Mar 18, 2022 3:28:17 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'module org.jabref.merged.module', isAutomatic: false, isOpen: true
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/user/.openjfx/cache/18+12/libprism_es2.so: /home/user/.openjfx/cache/18+12/libprism_es2.so: failed to map segment from shared object
java.lang.UnsatisfiedLinkError: /home/user/.openjfx/cache/18+12/libprism_es2.so: /home/user/.openjfx/cache/18+12/libprism_es2.so: failed to map segment from shared object
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.base/java.lang.Runtime.load0(Unknown Source)
    at java.base/java.lang.System.load(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibrary(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.es2.ES2Pipeline.lambda$static$0(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.es2.ES2Pipeline.<clinit>(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.GraphicsPipeline.createPipeline(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: /home/user/.openjfx/cache/18+12/libprism_sw.so: /home/user/.openjfx/cache/18+12/libprism_sw.so: failed to map segment from shared object
java.lang.UnsatisfiedLinkError: /home/user/.openjfx/cache/18+12/libprism_sw.so: /home/user/.openjfx/cache/18+12/libprism_sw.so: failed to map segment from shared object
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.base/java.lang.Runtime.load0(Unknown Source)
    at java.base/java.lang.System.load(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.glass.utils.NativeLibLoader.loadLibrary(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.sw.SWPipeline.lambda$static$0(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.sw.SWPipeline.<clinit>(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.prism.GraphicsPipeline.createPipeline(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumToolkit.init(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
    ... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
    at org.jabref.merged.module@5.6.101/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at org.jabref.merged.module@5.6.101/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)

OpenJFX is installed, as are openjdk-11-jre and openjdk-11-jre-headless. I read that it needs Java 13, but that’s not an option in 21.10, only 11 and 16. How do I get it to work? Snap is not an option, Pop removed everything Snap from Ubuntu so it couldn’t work with LibreOffice. Flatpak isn’t an option too, since I would need to install the Flatpak version of LibreOffice. Besides that, I’ve actually tried the flatpak version, exactly the same error.

Help appreciated.

Hi,

JabRef ships with it’s own jdk and javafx version, The most recent version (5.6dev) requires JDK17 + javafx18. But the jdk libs and normally also javafx is shipped with JabRef.
It seem that there is a problem with your javafx version on the system and it’s missing some native libraries. Try to install the latest version (18) from here.

Thanks. But which of the packages do I need? And how do I install it system-wide? Just unzip them somewhere and export an environment variable with the path system-wide?

Just unpacking the sdk zip and setting its path in PATH_TO_FX doesn’t work. Please help

Hey, I am not sure, which installation guide you are following, but I found this one from official javafx website:

That’s what I did:
I unpacked the JavaFX in /opt, set “PATH_TO_FX=/opt/javafx-sdk-18/lib” in /etc/environment, installed openjdk-17-jdk (also jdk-headless, jre and jre-headless open openjdk-17) besides the preinstalled OpenJDK-11 and also set “JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64” in /etc/environment. But it’s still throwing errors. What am I missing?