我已经下载了矮人要塞,我相信我已经收集了所有需要的文件。但是,当我单击 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
Run Code Online (Sandbox Code Playgroud)
Sal*_*lem 18
似乎游戏找不到某些 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
Run Code Online (Sandbox Code Playgroud)
所以你应该首先验证包是否真的安装了。如果是,则程序需要 32 位版本,或者它确实需要 64 位版本但找不到它。
要安装 32 位版本:
sudo apt-get install libsdl-image1.2:i386
Run Code Online (Sandbox Code Playgroud)
如果这仍然不能解决问题,您可以尝试使用LD_DEBUG=libs ./df. 这将输出大量信息,可以帮助检测为什么找不到该库。另外,请查看README.linuxDwarf Fortress 文件夹中的文件,并检查是否满足所有要求。
小智 16
在我的 Ubuntu 位上,我有 3 个软件包要安装在 32 位中用于 DwarfFortress :
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
Run Code Online (Sandbox Code Playgroud)
除了以上三个,至少在 ubuntu 14.04 上,你还需要这个:
sudo apt-get install libglu1-mesa:i386
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 16.04 上没有一个对我有用,但是这样做了:
sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0
Run Code Online (Sandbox Code Playgroud)