LibGDX Java development linking issues

So I’m trying to do some android/java development using LibGDX on my NixOS computer, but I’m running into driver issue it seems. When I try to build a default template project (generated with the LibGDX setup jar) for desktop I get the following error

java.lang.UnsatisfiedLinkError: /tmp/libgdxskykanin/dd5c1a65/liblwjgl64.so: libXxf86vm.so.1: cannot open shared object file: No such file or directory
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
	at java.lang.Runtime.load0(Runtime.java:809)
	at java.lang.System.load(System.java:1086)
	at org.lwjgl.Sys$1.run(Sys.java:70)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:87)
	at org.lwjgl.Sys.<clinit>(Sys.java:117)
	at org.lwjgl.openal.AL.<clinit>(AL.java:59)
	at com.badlogic.gdx.backends.lwjgl.audio.OpenALAudio.<init>(OpenALAudio.java:72)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:90)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:71)
	at com.mygdx.game.desktop.DesktopLauncher.main(DesktopLauncher.java:10)
Exception in thread "LWJGL Application" java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.Sys
	at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
	at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:592)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

I’ve tried doing nix-env -iA nixos.xorg.libXxf86vm to no avail so I’m not sure what the issue is. I’m using OpenJDK8 if that matters.

1 Like

Changing the LibGDX desktop backend (lwjgl) to version 3 fixed the issue

api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
2 Likes