如何安装运行Dwarf Fortress所需的库libSDL_image-1.2.so.0?
我已经下载了Dwarf Fortress,我相信我已经收集了所有必需的文件。 但是,当我点击df文件时,它会问我一些事情,我点击“运行”,没有任何反应。 游戏根本不打开。
我在64位上使用Gnome 3运行Ubuntu 12.04。 如果我可以打开游戏,我相信我可以处理可能发生的其他问题。
我是Ubuntu的新手,自2009年以来我没有使用过Linux。
很可能有一些我不知道的文件。
在终端中运行:
$ ./df ./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_image-1.2.so.0: cannot open shared object file: No such file or directory
看来游戏找不到一些SDL库。 使用apt-file
我得到的包(在12.10上)提供的库是libsdl-image1.2
:
➜ apt-file search libSDL_image-1.2.so.0 libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0 libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0.8.4
所以你应该首先validation包是否真的安装了。 如果它是程序需要32位版本或它确实需要64位版本但无法找到它。
要安装32位版本:
sudo apt-get install libsdl-image1.2:i386
如果这仍然无法解决问题,您可以尝试使用LD_DEBUG=libs ./df
运行游戏。 这将输出大量信息,可以帮助检测为什么它找不到该lib。 另外,请查看Dwarf Fortress文件夹中的README.linux
文件,并检查是否满足所有要求。
在我的Ubuntu位上,我为DwarfFortress安装了3个32位包:
sudo apt-get install libsdl-image1.2:i386 sudo apt-get install libgtk2.0-0:i386 sudo apt-get install libsdl-ttf2.0-0:i386
除了上面的三个,至少在ubuntu 14.04上,你需要这个:
sudo apt-get install libglu1-mesa:i386
Ubuntu 16.04上没有任何现有的工作对我有用,但这样做:
sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0
资源
我还需要16.04的盒子:
sudo apt-get install libglu1-mesa
所以,一起:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libsdl-image1.2:i386 \ libsdl-ttf2.0-0:i386 \ libgtk2.0-0:i386 \ libglu1-mesa:i386 \ openssl:i386 sudo apt-get install libsdl1.2debian sudo apt-get install libsdl1.2debian \ libsdl-image1.2 \ libsdl-ttf2.0-0 sudo apt-get install libglu1-mesa