SDL2 неправильно загружается Академией джедаев (OpenJK)

Итак, я пытаюсь установить Академию джедаев рыцарей-джедаев 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, или мне нужно получить другую версию, возможно? Буду очень признателен за любые мысли или помощь, так как я в растерянности.

1
задан 25 May 2015 в 16:03

2 ответа

Это не правильный способ сделать это, но нет никаких других ответов, и это работало на меня. У меня всегда были подобные проблемы при определении местоположения 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
0
ответ дан 25 May 2015 в 16:03

Я не знаю, разрешено ли это или нет, но та же проблема произошла со мной сегодня. Оказалось, что по некоторым причинам средству запуска MBII было нужно, 32-разрядные библиотеки SDL2, настолько склонного - добираются, установка libsdl-2.0-0:i386 сделал работу для меня.

0
ответ дан 7 December 2019 в 14:12

Другие вопросы по тегам:

Похожие вопросы: