Pobrałem grę pacapong dla systemu Linux i próbowałem uruchomić plik wykonywalny, co powoduje błąd:
$ ./runner
./runner: error while loading shared libraries: libopenal.so.1:
cannot open shared object file: No such file or directory
Oczywiście istnieje konieczność załadowania libopenal.so.1
:
$ objdump -p ./runner |grep libopenal.so.1
NEEDED libopenal.so.1
Tam libopenal.so.1
leży /usr/lib/x86_64-linux-gnu
i mogę zrobić:
$ ldd libopenal.so.1
linux-vdso.so.1 => (0x00007fffcdbbb000)
...
Nie będę uruchamiał tego pliku wykonywalnego (./runner) jako root (na wypadek gdyby ten problem mógł być związany z niewystarczającymi prawami, czego nie zakładam).
Więc co mógłbym spróbować?
W przyszłości uruchomienie ldd na ./runner powie ci, jakich bibliotek potrzebuje, jeśli ich brakuje, ORAZ jeśli są one i386 lub 64-bitowe.
$ ldd na ./runner
Uwaga: Nadal brakuje mi XRANDR dla i386. To jeszcze nie zadziała.
$ ./runner
źródło