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?


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ć


27

To działało dla mnie:

sudo apt-get install libsdl1.2debian:i386


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.


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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.