Итак, я пытаюсь установить Академию джедаев рыцарей-джедаев Star Wars на свой ноутбук под управлением Ubuntu 13.10. Как вы можете знать или не знать, эта игра довольно старая, и создатели, LucasArts, сделали только версии для Mac и Windows. Однако, к счастью, несколько лет назад был выпущен исходный код игры, и родился проект OpenJk. По сути, они переписывают игровой код и сделали так, чтобы вы могли играть в игру на Linux без Wine, так же гладко, как в других операционных системах.
Ссылка на страницу GitHub .
Компиляция и все работало абсолютно нормально, и, насколько я знаю, в OpenJK нет ничего плохого, и я знаю людей, которые используют его в Linux, моя проблема, похоже, в SDL2. Или, скорее, мой очевидный недостаток.
Когда я пытаюсь запустить файл, который должен запустить игру, я получаю эту ошибку:
./openjk.x86_64: error while loading shared libraries: libSDL2.so.0: cannot open shared object file: No such file or directory
Ну, насколько я знаю, у меня есть SDL2, сделав это:
sudo apt-get install libsdl2-2.0-0
и это
sudo apt-get install libsdl2-dev
Кроме того, я посетил несколько сайтов с инструкциями по установке этого и установил смехотворное количество зависимостей для SDL2. Так что я полагаю, у меня есть все. Если вы считаете, что, возможно, нашли список, которого у меня нет, не стесняйтесь опубликовать его ниже, чтобы я мог его попробовать.
И, как последний шаг перед тем, как я продолжил и опубликовал этот вопрос, я скачал самый последний файл sdl2.tar.gz с сайта , извлек файлы и запустил:
./autogen.sh
./configure; make; sudo make install
И установка работала, так что это еще больше смутило меня после того, как я запустил
sudo ldconfig
и все же файл Академии джедаев возвратил ту же ошибку.
К сожалению, похоже, что SDL2, который у меня есть, недостаточно хорош для Академии джедаев и, следовательно, недостаточно хорош для меня):
Кто-нибудь знает, в чем здесь корень проблемы? Это с OpenJK, или с SDL2, или мне нужно получить другую версию, возможно? Буду очень признателен за любые мысли или помощь, так как я в растерянности.
Это не правильный способ сделать это, но нет никаких других ответов, и это работало на меня. У меня всегда были подобные проблемы при определении местоположения SDL, освобождает. Это помогло мне узнать, где библиотеки установлены.
В прошлый раз я установил libsdl2-dev
, склонный - сказаны (в/var/lib/dpkg/info/libsdl2-dev.list) что *.so где:
/usr/lib/x86_64-linux-gnu/libSDL2.so
/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so
Обычно, программы с помощью SDL будут искать в /usr/lib/
или /usr/local/lib/
, таким образом, можно будет попытаться копировать его в тех путях и переименовать его к libSDL2.so.0
, который является именем openjk, не находит.
Или символьная ссылка:
ln -s /usr/lib/x86_64-linux-gnu/libSDL2.so /usr/lib/libSDL2.so.0
ln -s /usr/lib/x86_64-linux-gnu/libSDL2.so /usr/local/lib/libSDL2.so.0
Я не знаю, разрешено ли это или нет, но та же проблема произошла со мной сегодня. Оказалось, что по некоторым причинам средству запуска MBII было нужно, 32-разрядные библиотеки SDL2, настолько склонного - добираются, установка libsdl-2.0-0:i386 сделал работу для меня.