Game crashes as libsndio.so.6.1 is missing
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)
As a workaround I copied my local libSDL over this file.
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 .
Oh, sorry, this is for GeometryWars. Yes, copying and using local file did work. Game did not crash.
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.
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.