Я пытаюсь установить ioquake на своем сервере человечности.
Когда я пытаюсь выполнить его, я получаю это сообщение:
# ./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
Что я делаю неправильно?
Попробуйте выполнить следующие действия в терминале:
sudo apt-get update
, а затем
sudo apt-get install --reinstall libsdl1.2debian
.
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
Этот вопрос по-прежнему актуален для Ubuntu 14.04 для старых, но все еще используемых программ, таких как GCCG (Generic Collectible Card Game).
На эту тему есть два очень больших ответа:
Это сработало для меня:
sudo apt-get install libsdl1.2debian:i386
Я знаю, что это год с опозданием. Но это должно исправить:
dpkg --add-architecture i386
sudo apt-get install libsdl1.2debian
Проблема в том, что вы запускаете программу, скомпилированную для 32-битной архитектуры с 64-битными библиотеками.
Ни один ответ не помог мне решить эту проблему. Однако это произошло:
$ sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libopenal1 libsndfile1 libncursesw5
Я не уверен, что что-то связано с 64-битными зависимостями, которые не устанавливаются из-за 32-битных библиотек.