betacraftuk / betacraft-launcher

A launcher for Minecraft focused on legacy versions of the game
https://betacraft.uk
GNU General Public License v3.0
336 stars 40 forks source link

[HELP] Unable to load native GTK libraries on OpenSUSE Tumbleweed #344

Closed yee225 closed 5 months ago

yee225 commented 6 months ago

Hello. I am trying to run the universal version of the Betacraft launcher on OpenSUSE. Running the JAR on the command line outputs this:

[Hidden]@localhost:~/Downloads> java -jar launcher-1.09_16.jar Java version: IcedTea, OpenJDK Runtime Environment, 1.8.0_412-b08 System: linux, 6.9.3-1-default, amd64 Exception in thread "main" java.lang.InternalError: Unable to load native GTK libraries at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initialize(GTKLookAndFeel.java:1460) at javax.swing.UIManager.setLookAndFeel(UIManager.java:538) at javax.swing.UIManager.setLookAndFeel(UIManager.java:583) at org.betacraft.launcher.Launcher.main(Launcher.java:74)

I found someone with a similar issue here and it said to set LD_LIBRARY_PATH to the path to GTK. I tried doing the same thing, running this command in terminal: export LD_LIBRARY_PATH=/usr/lib64/libgtk-3.so.0 With the same results. I'm not exactly sure which file to set the library path to. YaST tells us these are all of the files installed by libgtk-3-0:

libgtk-3-0 - The GTK+ toolkit library (version 3)

/etc/gtk-3.0 /usr/lib64/gtk-3.0 /usr/lib64/gtk-3.0/3.0.0 /usr/lib64/gtk-3.0/3.0.0/immodules /usr/lib64/gtk-3.0/3.0.0/immodules.cache /usr/lib64/gtk-3.0/3.0.0/immodules/im-cedilla.so /usr/lib64/gtk-3.0/3.0.0/immodules/im-cyrillic-translit.so /usr/lib64/gtk-3.0/3.0.0/immodules/im-ipa.so /usr/lib64/gtk-3.0/3.0.0/printbackends /usr/lib64/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.so /usr/lib64/gtk-3.0/3.0.0/printbackends/libprintbackend-file.so /usr/lib64/gtk-3.0/3.0.0/printbackends/libprintbackend-lpr.so /usr/lib64/gtk-3.0/3.0.0/theming-engines /usr/lib64/gtk-3.0/modules /usr/lib64/libgailutil-3.so.0 /usr/lib64/libgailutil-3.so.0.0.0 /usr/lib64/libgdk-3.so.0 /usr/lib64/libgdk-3.so.0.2410.32 /usr/lib64/libgtk-3.so.0 /usr/lib64/libgtk-3.so.0.2410.32 /usr/share/doc/packages/libgtk-3-0 /usr/share/doc/packages/libgtk-3-0/README.SUSE /usr/share/licenses/libgtk-3-0 /usr/share/licenses/libgtk-3-0/COPYING

24 files total

Am I going in the wrong direction here? Thanks in advance.

yee225 commented 6 months ago

I looked deeper into that other Github page, and it said that OpenJDK might not depend on GTK, so it wouldn't be included by default. I tried installing java from Oracle's website, and running the launcher provided a similar result:

Java version: Oracle Corporation, Java(TM) SE Runtime Environment, 1.8.0_411-b09 System: linux, 6.9.3-1-default, amd64 Exception in thread "main" java.lang.InternalError: Unable to load native GTK libraries at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initialize(GTKLookAndFeel.java:1452) at javax.swing.UIManager.setLookAndFeel(UIManager.java:538) at javax.swing.UIManager.setLookAndFeel(UIManager.java:583) at org.betacraft.launcher.Launcher.main(Launcher.java:74)

DonkeyK1ng commented 5 months ago

I found this might help you. I was trying to run CLion on TW and installing libgthread-2_0-0 helped.

https://youtrack.jetbrains.com/issue/JBR-2435/IDE-fails-to-start-on-OpenSuse-Unable-to-load-native-GTK-libraries#focus=Comments-27-4260367.0-0

yee225 commented 5 months ago

Thanks! I wasn't looking at my Github cause no one had responded, but thanks again for the info.

yee225 commented 5 months ago

I tried it, and the buttons were broken (they were there, but they were empty, and had no text in them), so i switched back to OpenJDK and that fixed the issue. The menu would work, but the game wouldn't launch because the java path it set by default (/usr/lib/jvm/jre-1.8-oracle-x64/bin/java) was wrong, and this is either because it was unfamiliar with where YaST/Opensuse places its packages, or i screwed something up by switching to the official java JRE and back to OpenJDK. Any other path i provided, and it would keep saying that the path wasn't valid.

yee225 commented 5 months ago

Thanks for the help anyways!

zzort commented 2 months ago

I just had this problem in various JetBrains IDEs installed from JetBrains Toolkit on OpenSUSE Tumbleweed. The solution from @DonkeyK1ng fixed it:

sudo zypper install libgthread-2_0-0
fookoo commented 2 months ago

or if you wants there is a package glib2-devel which contains that lib

sudo zypper install glib2-devel

andreaippo commented 1 month ago

or if you wants there is a package glib2-devel which contains that lib

sudo zypper install glib2-devel

Brings in many more dependencies, though. I went for https://github.com/betacraftuk/betacraft-launcher/issues/344#issuecomment-2335001813 and fixed the problem, thanks!