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.