I am a user of Manjaro and Slackware distributions.
I had downloaded STK Full game (0.8.1-2 static binary, 64-bits, glibc 2.11, amd64).
But when I ran it, I got some errors about missing libraries. I am posting this from Manjaro, so I will post those details:
- {l Code}: {l Select All Code}
$ uname -a
Linux manjaro 3.17.0-1-MANJARO #1 SMP PREEMPT Tue Oct 7 16:08:54 UTC 2014 x86_64 GNU/Linux
supertuxkart-0.8.1-2-linux-glibc2.11-x86-64 $ ./run_game.sh
bin/supertuxkart: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory
$ pacman -Qs libgcrypt
local/libgcrypt 1.6.2-1
General purpose cryptographic library based on the code from GnuPG
local/libgpg-error 1.16-1
Support library for libgcrypt
supertuxkart-0.8.1-2-linux-glibc2.11-x86-64 $ bin/supertuxkart
bin/supertuxkart: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
$ pacman -Qs libcurl
local/curl 7.38.0-2
An URL retrieval utility and library
$ pacman -Qs gnutls
local/gnutls 3.3.8-2
A library which provides a secure layer over a reliable transport layer
local/libtasn1 4.2-1
The ASN.1 library used in GNUTLS
As can be seen, supertuxkart cannot seem to find some libraries even though they are installed.
First I tried executing run_game.sh, and then bin/supertuxkart, but in both cases I am not able to run the game.
On my other distribution (Slackware), I also got the same kind of library errors (the library missing was different I think).
Proper solution:
See the post further down.
How I got it working:
I had previously downloaded supertuxkart from the distribution's repository, so I copied the binary supertuxkart file /usr/bin/supertuxkart to the downloaded supertuxkart folder supertuxkart-0.8.1-2-linux-glibc2.11-x86-64, and running this file (both in Manjaro and Slackware), works.
- {l Code}: {l Select All Code}
$ ./supertuxkart
Irrlicht Engine version 1.8.0
Linux 3.17.0-1-MANJARO #1 SMP PREEMPT Tue Oct 7 16:08:54 UTC 2014 x86_64
[info ] FileManager: Data files will be fetched from: ''
[info ] FileManager: User directory is '/home/aaditya/.config/supertuxkart/'.
[info ] FileManager: Addons files will be stored in '/home/aaditya/.local/share/supertuxkart/addons/'.
[info ] FileManager: Screenshots will be stored in '/home/aaditya/.cache/supertuxkart/screenshots/'.
[debug ] translation: Env var LANGUAGE = 'en_US.utf8'.
[debug ] translation: Language 'English (United States)'.
Adding language fallback en
[info ] irr_driver: GLSL supported.
[info ] NetworkHttp: Using cached addons.xml
[debug ] main: Error messages and other text output will be logged to /home/aaditya/.config/supertuxkart//stdout.log.
Some more info:
Original file
- {l Code}: {l Select All Code}
$ ls -l bin/supertuxkart
-rwxr-xr-x 1 aaditya users 10260334 Nov 25 2013 bin/supertuxkart
New file
- {l Code}: {l Select All Code}
$ ls -l supertuxkart
-rwxr-xr-x 1 aaditya users 8190816 Dec 4 2013 supertuxkart
Original file
- {l Code}: {l Select All Code}
$ ldd bin/supertuxkart
linux-vdso.so.1 (0x00007fffe79fe000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f272b639000)
libcurl-gnutls.so.4 => not found
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f272b430000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f272b22a000)
libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007f272afb9000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f272ad38000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f272aa9e000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f272a75c000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f272a54a000)
libbluetooth.so.3 => /usr/lib/libbluetooth.so.3 (0x00007f272a32a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f272a01b000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f2729d16000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f2729b00000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f272975d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f272b855000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f2729530000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f2729329000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f2729121000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f2728f1d000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f2728cf3000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f2728ac9000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f27288c6000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f27286c0000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f27284be000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f27282a4000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f272809f000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f2727e9c000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f2727c99000)
libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f2727a8b000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f2727883000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f2727679000)
libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f2727475000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f272726e000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f272704c000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f2726e49000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f2726c3c000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f2726a38000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f2726832000)
It seems libcurl-gnutls.so.4 is the one which is missing.
New file
- {l Code}: {l Select All Code}
$ ldd supertuxkart
linux-vdso.so.1 (0x00007fff90080000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fb71de49000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fb71dc45000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fb71d9d7000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007fb71d7ce000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007fb71d5c8000)
libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007fb71d357000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fb71d0bd000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fb71cd7b000)
libfribidi.so.0 => /usr/lib/libfribidi.so.0 (0x00007fb71cb63000)
libbluetooth.so.3 => /usr/lib/libbluetooth.so.3 (0x00007fb71c943000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fb71c634000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fb71c32f000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fb71c119000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fb71bd76000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb71e065000)
libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007fb71bb4d000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007fb71b8df000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007fb71b4cd000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007fb71b281000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fb71af9f000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007fb71ad6d000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007fb71ab69000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fb71a953000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007fb71a726000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007fb71a51f000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fb71a30d000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fb71a105000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fb719edb000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007fb719cb1000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fb719aae000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fb7198a8000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007fb7196a6000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007fb71948c000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007fb719287000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007fb719084000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007fb718e81000)
libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007fb718c73000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007fb718a6b000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fb718861000)
libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007fb71865d000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007fb718456000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fb718234000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007fb718031000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007fb717e24000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fb717b1a000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007fb71790d000)
libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007fb717709000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fb7174f2000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fb7172ee000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fb7170e8000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fb716e7e000)
Instead of libcurl-gnutls.so.4, the distribution binary has libcurl.so.4, and a bunch of other ones.
But I think as libcurl-gnutls is bundled with the package, hence perhaps its not the one causing the trouble; while executing run_game.sh, the error I get is with libgcrypt.so.11 being missing.
So in conclusion, I think you guys forgot to bundle the libgcrypt.so.11 library..
In the distribution binary ldd, libcrypto.so.1.0.0 and some other libraries are included.
Edit-
Here is a difference between the ldds (old/original vs new/distribution binary):
- {l Code}: {l Select All Code}
$ diff -u bin-supertuxkart.ldd supertuxkart.ldd
--- bin-supertuxkart.ldd 2014-10-17 21:01:30.559707885 +0530
+++ supertuxkart.ldd 2014-10-17 21:01:17.459708428 +0530
@@ -1,23 +1,31 @@
linux-vdso.so.1
libpthread.so.0
-libcurl-gnutls.so.4
+libdl.so.2
+libcurl.so.4
libvorbisfile.so.3
libXxf86vm.so.1
libopenal.so.1
-libGLU.so.1
libGL.so.1
libX11.so.6
-libXext.so.6
+libfribidi.so.0
libbluetooth.so.3
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
/lib64/ld-linux-x86-64.so.2
+libssh2.so.1
+libssl.so.1.0.0
+libcrypto.so.1.0.0
+libgssapi_krb5.so.2
+libkrb5.so.3
+libk5crypto.so.3
+libcom_err.so.2
+libz.so.1
libvorbis.so.0
libogg.so.0
+libXext.so.6
librt.so.1
-libdl.so.2
libexpat.so.1
libglapi.so.0
libXdamage.so.1
@@ -35,5 +43,10 @@
libxcb.so.1
libxshmfence.so.1
libdrm.so.2
+libglib-2.0.so.0
+libkrb5support.so.0
+libkeyutils.so.1
+libresolv.so.2
libXau.so.6
libXdmcp.so.6
+libpcre.so.1