如何安装运行矮人要塞所需的库libSDL_image-1.2.so.0?


16

我已经下载了矮人要塞,并且我相信已经收集了所有必需的文件。但是,当我单击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 

诊断问题的最佳方法是在终端上运行它。不要选择“运行”,而是选择“在终端中运行”或打开终端,使用cd来更改目录df并运行 ./df。然后使用您得到的输出更新您的问题。
塞勒姆

nex @ ExistentialAndroid:〜/ Downloads / df_linux $ ./df ./libs/Dwarf_Fortress:加载共享库时出错:libSDL_image-1.2.so.0:无法打开共享对象文件:无此类文件或目录nex @ ExistentialAndroid:〜/ Downloads / df_linux $唯一的问题是我显然已经安装了libSDL_image-1.2.so.0,至少Ubuntu Software Center告诉我它已安装。
现有的Android系统

Answers:


16

似乎游戏找不到某些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

因此,您应该首先验证是否确实安装了该软件包。如果是,则程序需要32位版本,或者确实需要64位版本,但找不到它。

要安装32位版本:

sudo apt-get install libsdl-image1.2:i386

如果仍然不能解决问题,您可以尝试使用运行游戏LD_DEBUG=libs ./df。这将输出很多信息,可以帮助检测为什么找不到该库。另外,查看“ README.linux矮人要塞”文件夹中的文件,并检查是否满足所有要求。


1
我按照您的建议做了,又遇到了另一个错误,所以我做了几乎相同的事情,但是发现了如何安装它所需要的东西,然后我发现了这个问题:libglu1-mesa,但是没有用,所以我尝试了ia32-libs。那安装了很多东西,但是DF现在可以工作了。谢谢。
现有的Android系统

这个答案也适用于Onlink游戏(需要32位版本)
Kyborek

15

在我的Ubuntu位上,我有3个要在DwarfFortress中以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上运行DF还需要安装这四个工具。
7yl4r '16

6

在Ubuntu 16.04上,没有一个对我有用,但是这样做了:

sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0

资源


需要在16.04上解决此错误。但是我有一个库的新错误libGLU.so.1
肯尼·埃维特

这些在Ubuntu上运行DF 17.10需要我
shmup

可以确认这与Tonioooo的答案一起导致在18.04
JDL

尝试了其他多个答案,但这是唯一对我有用的答案。
哈特菲德

1

也在 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.