помилка під час завантаження спільних бібліотек libSDL-1.2.so.0


18

Я намагаюся встановити ioquake на своєму сервері ubuntu.

Коли я намагаюся запустити його, я отримую це повідомлення:

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

Я думав, що у мене все працює правильно, ось де 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

І мій шлях:

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

Що я роблю неправильно?


3
Я думаю, що це повідомлення від libSDL, а не про libSDL. Біжи strace ./ioquake.x86_64. Це покаже всі системні дзвінки (потрібно більше часу для виконання). Він покаже, яка спроба відкрити, який файл не вдасться.
січня

Я встановив слід. Коли я запускаю його прямо, я отримую допомогу. Коли я запускаю strace ./ioquake.x86_64, як ви запропонували, я отримую команду не знайдено. У мене болить
голова

Я встановив strace *
ErocM

З питань поширених запитань OpenArena це повідомлення з’являється, коли libSDL не встановлений, тому я не думаю, що він прийшов з нього. Не найкраща ідея, але просто для переконання, чи намагалися ви перейменувати libSDL-1.2.so.0.11.4 в libSDL-1.2.so.0?
NorTicUs

навіть якщо перший працював для вас: будь-ласка, позначте другий (23 оновлення) як відповідь, як це насправді правильно для 99% людей.
тацу

Відповіді:


10

Спробуйте наступне в терміналі:

sudo apt-get update

слідом за ним

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

Опублікуйте будь-які повідомлення про помилки, які можуть з’явитися


27

Це працювало для мене:

sudo apt-get install libsdl1.2debian:i386


1
це краща відповідь, яку слід позначити як відповідь.
тацу

2

Я знаю, що це на рік. Але це має виправити:

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

Проблема полягає в тому, що ви запускаєте програму, складену для 32-бітної архітектури з 64-бітовими бібліотеками.


4
Як варіантsudo apt-get install libsdl1.2debian:i386
Йоріл

1
@Joril Я думаю, що ваш коментар повинен відповісти як сам
Alter Lagos

1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev

3
Чи можете ви включити пояснення щодо проблеми і як виконання вищевказаної команди вирішить її?
Мостафа Ахангарха

насправді користувацькі програми використовують вищезазначені бібліотечні замовлення, щоб скинути текст чи зображення у вікно SDL
jagadeesh

Я маю на увазі включення пояснення у відповідь. Та все ж, я думаю, цього пояснення недостатньо.
Мостафа Ахангарха

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.