Zodsmar / SeedSearcherStandaloneTool

Minecraft, searching numeric seeds for specific features/biomes
GNU General Public License v3.0
311 stars 64 forks source link

Crash on Ubuntu #28

Closed A4D4R closed 3 years ago

A4D4R commented 4 years ago

The Latest version v0.5.0 crashes on start.

Here is the command line output when running java -jar sassa-v0.5.0.jar

Without openjfx installed:

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 com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    ... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)

With openjfx installed:

java.lang.ClassNotFoundException: com.sun.glass.ui.gtk.GtkPlatformFactory
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at com.sun.glass.ui.PlatformFactory.getPlatformFactory(PlatformFactory.java:42)
    at com.sun.glass.ui.Application.run(Application.java:144)
    at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:258)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:269)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)
Failed to load Glass factory class
Exception in thread "main" java.lang.NullPointerException
    at com.sun.glass.ui.Application.run(Application.java:144)
    at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:258)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:269)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)

Output of java --version

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

I also tried installing openjfx with version 11.0.7+0-2ubuntu1

It might be an issue with Java 11 or OpenJFX but I cant remove Java 11 because minecraft requires openjdk meta package (which points to openjdk-11-jre) instead of exact java-8 version for some reason. I'll look into it more and post update here by running the program on different configuration.

Zodsmar commented 4 years ago

There was a but and I updated the tool about 35 minutes ago. So if this is the old version try downloading it again. I'm not sure it works with OpenJDK however I need to test it myself too.

A4D4R commented 4 years ago

Update Here. I've managed to build the development branch on ubuntu and it runs just fine. It was a bit of hassle to get latest version of gradle was repository was only at 4.0 or something.

It runs okay with the build (Except minor UI issues with text overlapping other area and "Start" button being super small. I've attached the screenshot for references.

Start Screen

Data Screen

For those who want to build it for themselves:

  1. Install java sudo apt install openjdk-11-jre (minecraft auto installs them so if you have minecraft you are good to go)
  2. Install javafx sudo apt install openjfx
  3. Get the latest gradle. DO NOT USE THE REPOSITORY VERSION. It fails on step 5.

    Here is a quick tutorial on how to do that: https://linuxize.com/post/how-to-install-gradle-on-ubuntu-18-04/ (Instead of version 5.0 on the tutorial, use 6.3 [replace every 5.0 on that tutorial with 6.3]

  4. Clone the repo, go to that folder, switch to dev branch git checkout development and run chmod +x ./gradlew

Edit: You dont need to switch to that branch, its already merged to master.

  1. You apparently need to run a wrapper: gradle wrapper
  2. After its done, build using: ./gradlew build
  3. You can run the built file: ./gradlew run

Also @Zodsmar, You can also test using WSL for windows with latest Ubuntu build 20.04, its in microsoft store I think. Edit: Fix the openjdk package name.

Zodsmar commented 4 years ago

I will look into this more but for now I updated the main Readme linking to a wiki page I made on how to build for v0.5.0 on Linux using OpenJDK: https://github.com/Zodsmar/SeedSearcherStandaloneTool/wiki/Building-SASSA-for-Linux-(OpenJDK)---v0.5.0 (I gave your recognition since its your post but I figured I would make it more accessible to everyone)

Thanks! I'll leave this issue open till I find a proper solution!

A4D4R commented 4 years ago

Addition to Above: In Arch Linux (and derivatives like Manjaro), SASSA v0.5.0 runs just fine (ignoring the visual glitches like the screenshots above), if you have java-openjfx package installed.

If you are using Java 8 instead of latest version, install java8-openjfx package instead.

Of-course you will need to have java installed but minecraft-launcher from AUR does that automatically.

(@Zodsmar I updated the package name for the previous building on ubuntu, previously I put it wrong! You might want to update the wiki or wait till the new release, I'll test it and comment here.)

Zodsmar commented 4 years ago

I'm gonna be revamping the wiki and creating a proper github.io page for the project with the next release because of all the new additions I am adding. But ill keep this in mind thanks!

A4D4R commented 4 years ago

That would be nice. If you want anyone to design github page, I can do that for you with any site generators (like Hugo) or just plain static HTML/CSS.

Zodsmar commented 3 years ago

I will try my best to test linux and mac going forward, but for now I updated the readme with the Wiki link to the fix for Linux users. 6cc7f96

Closed for now.