Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game crashes as libsndio.so.6.1 is missing #11

Open
rkraneis opened this issue Jan 14, 2021 · 5 comments
Open

Game crashes as libsndio.so.6.1 is missing #11

rkraneis opened this issue Jan 14, 2021 · 5 comments

Comments

@rkraneis
Copy link

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
Copy link
Author

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

@AlmasB
Copy link
Owner

AlmasB commented Jan 14, 2021 via email

@rkraneis
Copy link
Author

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

@AlmasB
Copy link
Owner

AlmasB commented Jan 14, 2021

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.

@rkraneis
Copy link
Author

rkraneis commented Jan 15, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants