błąd podczas ładowania bibliotek współdzielonych libSDL-1.2.so.0

18

Próbuję zainstalować ioquake na moim serwerze Ubuntu.

Gdy próbuję go uruchomić, pojawia się następujący komunikat:

# ./ioquake3
./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

Myślałem, że wszystko działa poprawnie, oto gdzie jest libSDL:

# cd /usr/lib64
# /usr/lib64# ls -l
total 2308
lrwxrwxrwx 1 root root      15 Oct 15 00:25 libSDL-1.1.so.0 -> libSDL-1.2.so.0
lrwxrwxrwx 1 root root      20 Oct 15 00:25 libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
-rwxr-xr-x 1 root root 2358903 Jan 19  2012 libSDL-1.2.so.0.11.4

I moja ścieżka:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib64

Co ja robię źle?

ErocM
źródło
3
Myślę, że jest to komunikat z libSDL, a nie o libSDL. Uruchom strace ./ioquake.x86_64. Spowoduje to wyświetlenie wszystkich wywołań systemowych (wykonanie zajmuje znacznie więcej czasu). Pokaże, która próba otwarcia, który plik się nie powiedzie.
styczeń
Zainstalowałem ślad. Kiedy biegnę prosto do góry, dostaję pomoc. Kiedy uruchamiam strace ./ioquake.x86_64, jak sugerowałeś, otrzymuję polecenie nie znaleziono.
Boli
Zainstalowałem strace *
ErocM
Z OpenArena FAQ , ten komunikat pojawia libSDL nie jest zainstalowany, więc nie sądzę, że przyszedł z nim. Nie jest to najlepszy pomysł, ale dla pewności próbowałeś zmienić nazwę libSDL-1.2.so.0.11.4 na libSDL-1.2.so.0?
NorTicUs
nawet jeśli pierwszy zadziałał dla Ciebie: zaznacz drugi (23 głosy poparcia) jako odpowiedź, ponieważ jest to właściwe dla 99% osób.
tatsu

Odpowiedzi:

10

Wypróbuj następujące opcje w terminalu:

sudo apt-get update

śledzony przez

sudo apt-get install --reinstall libsdl1.2debian

Opublikuj wszelkie komunikaty o błędach, które możesz zobaczyć

Anonimowy
źródło
27

To działało dla mnie:

sudo apt-get install libsdl1.2debian:i386

Joril
źródło
1
jest to lepsza odpowiedź, którą należy oznaczyć jako odpowiedź.
tatsu
2

Wiem, że to rok za późno. Ale to powinno to naprawić:

dpkg --add-architecture i386
sudo apt-get install libsdl1.2debian

Problem polega na tym, że uruchamiasz program skompilowany dla architektury 32-bitowej z bibliotekami 64-bitowymi.

Douther
źródło
4
Alternatywniesudo apt-get install libsdl1.2debian:i386
Joril
1
@Joril Myślę, że twój komentarz powinien być odpowiedzią samą w sobie
Alter Lagos
1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
jagadeesh
źródło
3
Czy możesz podać wyjaśnienie, na czym polega problem i w jaki sposób uruchomienie powyższego polecenia go rozwiązałoby?
Mostafa Ahangarha
właściwie aplikacje użytkownika używają powyższej biblioteki do zrzucania tekstu lub obrazów do okna SDL
jagadeesh
Mam na myśli załączyć wyjaśnienie w odpowiedzi. Myślę jednak, że to wyjaśnienie nie wystarczy.
Mostafa Ahangarha