FXGLGames icon indicating copy to clipboard operation
FXGLGames copied to clipboard

Game crashes as libsndio.so.6.1 is missing

Open rkraneis opened this issue 5 years ago • 5 comments

Message: /home/rene/.openjfx/cache/fxgl-11/libSDL2.so: libsndio.so.6.1: cannot open shared object file: No such file or directory Type: UnsatisfiedLinkError

Line:  Native Method

java.lang.UnsatisfiedLinkError: /home/$user/.openjfx/cache/fxgl-11/libSDL2.so: libsndio.so.6.1: cannot open shared object file: No such file or directory
	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
	at java.base/java.lang.Runtime.load0(Runtime.java:747)
	at java.base/java.lang.System.load(System.java:1857)
	at com.almasb.fxgl.controllerinput.ControllerInputService.onInit(ControllerInputService.kt:81)
	at com.almasb.fxgl.app.Engine.initServices(Engine.kt:84)
	at com.almasb.fxgl.app.FXGLApplication$start$task$1.run(FXGLApplication.kt:120)
	at com.almasb.fxgl.core.concurrent.IOTask.lambda$ofVoid$5(IOTask.java:138)
	at com.almasb.fxgl.core.concurrent.IOTask$2.onExecute(IOTask.java:151)
	at com.almasb.fxgl.core.concurrent.IOTask$1.call(IOTask.java:107)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)

Not much to add ... this happens on Fedora 33.

ldd /home/$user/.openjfx/cache/fxgl-11/libSDL2.so
ldd: warning: you do not have execution permission for `/home/$user/.openjfx/cache/fxgl-11/libSDL2.so'
	linux-vdso.so.1 (0x00007ffd163cb000)
	libasound.so.2 => /lib64/libasound.so.2 (0x00007f59c6709000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f59c65c3000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f59c65bc000)
	libpulse.so.0 => /lib64/libpulse.so.0 (0x00007f59c6566000)
	libsndio.so.6.1 => not found
	libX11.so.6 => /lib64/libX11.so.6 (0x00007f59c641f000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00007f59c6408000)
	libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f59c63fb000)
	libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f59c63f6000)
	libXi.so.6 => /lib64/libXi.so.6 (0x00007f59c63e4000)
	libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f59c63d7000)
	libXss.so.1 => /lib64/libXss.so.1 (0x00007f59c63d2000)
	libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f59c63c9000)
	libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f59c63c4000)
	libwayland-client.so.0 => /lib64/libwayland-client.so.0 (0x00007f59c63b4000)
	libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0 (0x00007f59c63aa000)
	libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007f59c6365000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f59c6343000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f59c6336000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f59c616b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f59c6b2f000)
	libpulsecommon-14.0.so => /usr/lib64/pulseaudio/libpulsecommon-14.0.so (0x00007f59c60e3000)
	libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f59c60de000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f59c60b4000)
	libICE.so.6 => /lib64/libICE.so.6 (0x00007f59c6097000)
	libSM.so.6 => /lib64/libSM.so.6 (0x00007f59c608a000)
	libXtst.so.6 => /lib64/libXtst.so.6 (0x00007f59c6081000)
	libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f59c5fc1000)
	libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007f59c5f4f000)
	libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007f59c5f47000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f59c5ef6000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007f59c5eed000)
	libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f59c5ee0000)
	libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f59c5ed7000)
	libffi.so.6 => /lib64/libffi.so.6 (0x00007f59c5ecc000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007f59c5ec7000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f59c5ebc000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f59c5e90000)
	libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f59c5dbb000)
	liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f59c5d9d000)
	libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f59c5c78000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f59c5c5d000)
	libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f59c5c4c000)
	libFLAC.so.8 => /lib64/libFLAC.so.8 (0x00007f59c5bf1000)
	libogg.so.0 => /lib64/libogg.so.0 (0x00007f59c5be6000)
	libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f59c5bb7000)
	libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f59c5b0c000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f59c5af2000)
	libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f59c5acb000)

rkraneis avatar Jan 14 '21 20:01 rkraneis

As a workaround I copied my local libSDL over this file.

rkraneis avatar Jan 14 '21 20:01 rkraneis

Thanks, did copying your local file work? Also what game is this?

On Thu, 14 Jan 2021, 8:35 pm René Kraneis, [email protected] wrote:

As a workaround I copied my local libSDL over this file.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/AlmasB/FXGLGames/issues/11#issuecomment-760460531, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3NT5TZSW4SDTDWFRRVSEDSZ5IRNANCNFSM4WDA2Z7Q .

AlmasB avatar Jan 14 '21 20:01 AlmasB

Oh, sorry, this is for GeometryWars. Yes, copying and using local file did work. Game did not crash.

rkraneis avatar Jan 14 '21 20:01 rkraneis

Thanks, I've just updated the GeometryWars sample to not initialize controllers, which are not being used by the game anyway.

In the future, when the game does support controllers, I will need to write down all SDL2 dependencies or specific versions that may not be present on the system. I wonder what ldd gives for your local SDL2 copy.

AlmasB avatar Jan 14 '21 20:01 AlmasB

Quite some difference there:

ldd /lib64/libSDL2-2.0.so.0
	linux-vdso.so.1 (0x00007ffe64ffc000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f08b5eb7000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f08b5eb0000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f08b5e8e000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f08b5e83000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f08b5cb8000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f08b6170000)

Ragarding sndio: it seems not that well supported by distributions.

rkraneis avatar Jan 15 '21 08:01 rkraneis