Jedi Academy(OpenJK)未正确加载SDL2

所以我试图在我的笔记本电脑上安装星球大战绝地武士绝地学院,运行Ubuntu 13.10。 你可能知道或者可能不知道,这个游戏很老,创作者LucasArts只为Mac和Windows制作了版本。 然而,幸运的是,几年前游戏的源代码已经发布,OpenJk项目诞生了。 从本质上讲,他们正在重写游戏代码,并且已经做到了这样,你可以在Linux上玩游戏,没有葡萄酒,就像在其他操作系统上播放一样流畅。

链接到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 

并且Jedi Academy文件仍然返回相同的错误。

不幸的是,似乎我所拥有的SDL2对于Jedi Academy来说还不够好,因此对我来说还不够好):

有谁知道问题的根源在这里? 是OpenJK还是SDL2,或者我需要获得不同的版本吗? 任何想法或帮助将不胜感激,因为我不知所措。

这不是正确的方法,但没有其他答案,这对我有用。 我一直有类似的问题,找到SDL库。 它帮助我找出了安装库的位置。

上次我安装了libsdl2-dev ,apt-get说(在/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 

我不知道这是否已经解决,但今天发生了同样的问题。 事实certificate,由于某种原因,MBII启动器需要一个32位的SDL2库,所以apt-get install libsdl-2.0-0:i386为我做了工作。