SDL2 não está sendo carregado corretamente pela Jedi Academy (OpenJK)

1

Então, estou tentando instalar a Academia Jedi Knight Star Wars no meu laptop, executando o Ubuntu 13.10. Como você pode ou não saber, este jogo é bem antigo e os criadores, LucasArts, só fizeram versões para Mac e Windows. No entanto, felizmente, há alguns anos o código fonte do jogo foi lançado e o projeto OpenJk nasceu. Essencialmente, eles estão reescrevendo o código dos jogos, e fizeram com que você pudesse jogar o jogo no linux, sem vinho, tão bem quanto ele joga em outros sistemas operacionais.

Link para a página GitHub .

A compilação e tudo funcionou absolutamente bem, e não há nada de errado com o OpenJK, tanto quanto eu sei, e eu conheço pessoas que usam no linux, o meu problema parece ser SDL2. Ou melhor, minha aparente falta disso.

Quando tento executar o arquivo que deve iniciar o jogo, recebo este erro:

./openjk.x86_64: error while loading shared libraries: libSDL2.so.0: cannot open shared object file: No such file or directory

Bem, até onde eu sei eu tenho SDL2, tendo feito isso:

sudo apt-get install libsdl2-2.0-0

e isso

sudo apt-get install libsdl2-dev

Além disso, visitei vários sites com guias sobre como instalar isso e instalei uma quantidade ridícula de dependências para o SDL2. Então eu presumo que eu tenha todos eles. Se você acha que pode ter encontrado uma lista que não tenho, sinta-se à vontade para postá-la abaixo para eu tentar.

E, como etapa final antes de publicar essa pergunta, fiz o download do sdl2.tar.gz mais recente do website , extraiu os arquivos e executou:

./autogen.sh
./configure; make; sudo make install

E a instalação funcionou, então isso me deixou ainda mais confuso depois que eu corri

sudo ldconfig

e ainda assim o arquivo da Jedi Academy retornou o mesmo erro.

Infelizmente, parece que o SDL2 que eu tenho não é bom o suficiente para a Jedi Academy e, portanto, não é bom o suficiente para mim):

Alguém sabe qual é a raiz do problema aqui? É com o OpenJK ou com o SDL2, ou preciso de uma versão diferente? Qualquer pensamento ou ajuda seria muito apreciado, pois estou perdido.

    
por Leo 08.04.2014 / 01:46

2 respostas

2

Este não é o jeito certo de fazê-lo, mas não há outras respostas, e isso funcionou para mim. Eu sempre tive problemas semelhantes ao localizar as bibliotecas do SDL. Ajudou-me a descobrir onde estão as bibliotecas instaladas.

A última vez que instalei libsdl2-dev , apt-get disse (em /var/lib/dpkg/info/libsdl2-dev.list) que o * .so onde:

/usr/lib/x86_64-linux-gnu/libSDL2.so
/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so

Normalmente, os programas que usam o SDL pesquisam em /usr/lib/ ou /usr/local/lib/ , então você pode tentar copiá-lo nesses caminhos e renomeá-lo para libSDL2.so.0 , que é o nome que o openjk não encontra.

Ou um link simbólico:

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
    
por jmmut 05.09.2014 / 15:26
0

Não sei se isso foi resolvido ou não, mas o mesmo problema ocorreu hoje. Descobriu-se que, por alguma razão, o launcher MBII precisava de uma biblioteca de 32 bits do SDL2, então o apt-get install libsdl-2.0-0: i386 fez o trabalho para mim.

    
por O-K 25.12.2017 / 18:14