Difficulty getting MEGAN working on unix server

I’ve generally been using the windows version of MEGAN but have been trying to also get it working on a unix server. I installed JDK8 and edited my .bashrc with

export PATH=/home/tyler/software/jdk1.8.0_261/bin:$PATH

I’ve also tried doing the same with javafx-sdk-14.0.2.1. But, I can’t get the software to start. An earlier version installed by someone else on the machine (6.7.7) works just fine, but when I try to run the current version, I get the following in my error.log. I know there are a few posts on this forum with similar errors, but I haven’t been able to get those solutions working.

Any idea why it isn’t liking my currently installed version of java?

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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.swing/javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:241)
at javafx.swing/javafx.embed.swing.JFXPanel.(JFXPanel.java:257)
at megan/megan.main.Megan6.ensureInitFXInSwingProgram(Megan6.java:155)
at megan/megan.main.Megan6.main(Megan6.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.install4j.runtime/com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime/com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.megan.main.Megan6.main(Unknown Source)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:832)
MEGAN fatal error:
java.lang.RuntimeException: No toolkit found
Caught:
java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.swing/javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:241)
at javafx.swing/javafx.embed.swing.JFXPanel.(JFXPanel.java:257)
at megan/megan.main.Megan6.ensureInitFXInSwingProgram(Megan6.java:155)
at megan/megan.main.Megan6.main(Megan6.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.install4j.runtime/com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime/com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.megan.main.Megan6.main(Unknown Source)

Recent releases of MEGAN come with their own bundled JRE. To override the bundled JRE, there is an environment variable INSTALL4J_JAVA_HOME_OVERRIDE that you can set, by typing something like this:

export INSTALL4J_JAVA_HOME_OVERRIDE=/home/parallels/software/jdk

The installed Java must be at least version 13.

However, the error that you reported looks like there is a problem with running Java FX on your system. Please try installing this JDK, which contains OpenJDK:

I will be away for the next ten days, so won’t be able to help until then

Thanks Daniel, I installed Liberica JDK. Still no luck, but I have a new error message now when trying to run the program:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.swing not found, required by megan

I’ve been looking up how to add --module-paths in java, but I’m not sure how to do that and launch MEGAN. I have this in my .bashrc to identify both my local java and local javaFX to try and fix the module problem (didn’t work).

export PATH=/home/tyler/software/jdk-14.0.2/bin/:$PATH
export PATH=/home/tyler/software/javafx-sdk-14.0.2.1/lib/:$PATH

And then in my .bash_profile I have:

export INSTALL4J_JAVA_HOME_OVERRIDE=/home/tyler/software/jdk-14.0.2/
export PATH_TO_FX=/home/tyler/software/javafx-sdk-14.0.2.1/

Anything that I’m missing?

Update:

I realized I had installed the ‘standard’ as opposed to ‘full’ JDK you recommended. I installed the ‘full’ version, which has the javaJX mods, and updated my .bashrc and .bash_profile with the new directory. But now when I try to run MEGAN, I get this in my error log again:

    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at javafx.swing/javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:241)
    at javafx.swing/javafx.embed.swing.JFXPanel.<init>(JFXPanel.java:257)
    at megan/megan.main.Megan6.ensureInitFXInSwingProgram(Megan6.java:155)
    at megan/megan.main.Megan6.main(Megan6.java:51)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at com.install4j.runtime/com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
    at com.install4j.runtime/com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
    at install4j.megan.main.Megan6.main(Unknown Source)

Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:832)
MEGAN fatal error:
java.lang.RuntimeException: No toolkit found
Caught:
java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.swing/javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:241)
at javafx.swing/javafx.embed.swing.JFXPanel.(JFXPanel.java:257)
at megan/megan.main.Megan6.ensureInitFXInSwingProgram(Megan6.java:155)
at megan/megan.main.Megan6.main(Megan6.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.install4j.runtime/com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime/com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.megan.main.Megan6.main(Unknown Source)