steamworks-defold
steamworks-defold copied to clipboard
Linux mint: ./dmengine: error while loading shared libraries: libsdkencryptedappticket.so: cannot open shared object file: No such file or directory
Trying to build for Linux, using the sh included to run, get this error? What do I need to do for Linux building to work?
Any idea about this? Bundling also has same issue. Also tested bundling from Windows host and running on Linux but same issue.
I'm away on vacation. Maybe @jcash has an idea?
On Mon, 25 Feb 2019, 23:10 Brian, [email protected] wrote:
Any idea about this? Bundling also has same issue. Also tested bundling from Windows host and running on Linux but same issue.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/britzl/steamworks-defold/issues/8#issuecomment-467204161, or mute the thread https://github.com/notifications/unsubscribe-auth/ABPY0Adro3OmqfMfz9_ng_MwUk1TzsCAks5vRF87gaJpZM4bNuqY .
Not super urgent as our release date is still 54 days away. Hope you are enjoying your vacation!
Well, shared libraries on Unix can be a tricky. I find it
parallels@vm:~/defold/Steamworks$ ldd Steamworks.x86_64
linux-vdso.so.1 (0x00007fff189f5000)
libsdkencryptedappticket.so => not found
libsteam_api.so => not found
libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f96b9abd000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f96b9785000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f96b9438000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f96b91c9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f96b8faa000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f96b8da6000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f96b8a1d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f96b867f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f96b8467000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96b8076000)
libsndio.so.6.1 => /usr/lib/x86_64-linux-gnu/libsndio.so.6.1 (0x00007f96b7e66000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f96b7c5e000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f96b7a36000)
/lib64/ld-linux-x86-64.so.2 (0x00007f96b9d5c000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f96b7730000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f96b751b000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f96b7317000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f96b7111000)
parallels@vm:~/defold/Steamworks$ ls -la
total 0
drwxr-xr-x 1 parallels parallels 320 Feb 26 08:54 .
drwxr-xr-x 1 parallels parallels 1600 Feb 26 08:56 ..
-rw-r--r-- 1 parallels parallels 109129 Feb 26 08:54 game.arcd
-rw-r--r-- 1 parallels parallels 7408 Feb 26 08:54 game.arci
-rw-r--r-- 1 parallels parallels 33761 Feb 26 08:54 game.dmanifest
-rw-r--r-- 1 parallels parallels 2392 Feb 26 08:54 game.projectc
-rw-r--r-- 1 parallels parallels 162 Feb 26 08:54 game.public.der
-rw-r--r-- 1 parallels parallels 961011 Feb 26 08:54 libsdkencryptedappticket.so
-rw-r--r-- 1 parallels parallels 370330 Feb 26 08:54 libsteam_api.so
-rwxr--r-- 1 parallels parallels 21264304 Feb 26 08:54 Steamworks.x86_64
It seems to find it when using LD_LIBRARY_PATH:
LD_LIBRARY_PATH=. ./Steamworks.x86_64
So path needs to be exported somehow?
The easiest workaround for you right now, is to set RPATH yourself:
$ patchelf --set-rpath '$ORIGIN' Steamworks.x86_64
You can verify that it's been set:
$ readelf -d Steamworks.x86_64 | grep 'R.*PATH'
0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN]
And also with ldd:
$ ldd Steamworks.x86_64
linux-vdso.so.1 (0x00007ffc79df3000)
libsdkencryptedappticket.so => /media/psf/defold/Steamworks/./libsdkencryptedappticket.so (0x00007ff1d9121000)
libsteam_api.so => /media/psf/defold/Steamworks/./libsteam_api.so (0x00007ff1d8ec5000)
...
The proper fix lies on our end, needing to add a missing compile flag: -Wl,-rpath='$ORIGIN'
I'll wait for proper fix! 😊
DEF-3805, should be in on monday (1.2.148)
Just noting here still an issue. Runs fine when ran from Steam launcher but not directly without the user modifying path stuff.
The last version I tested with was 1.2.150
Strangely when bundling on Windows for Linux this is not an issue, only when bundling on Linux.
I still have to take the bundle to a Linux VM to fix the permissions though.
Noting that this is still an issue and renders a game untestable on Linux machines.
Still occurring for me. What is the fix?