运行 Dwarf Fortress 时,命令行给出文件未找到的错误

运行 Dwarf Fortress 时,命令行给出文件未找到的错误

因此,我下载了矮人要塞 linux 版本,启动终端,解压缩 bz2(仍在下载文件夹中),cd ~/Downloads/df_linux,然后:

~/Downloads/df_linux$ ./df
./df: 6: ./df: ./libs/Dwarf_Fortress: not found
~/Downloads/df_linux$ cd libs
~/Downloads/df_linux/libs$ ls -al
total 21408
-rwx------ 1 ***** ***** 15104448 Jul  29  14:06 Dwarf_Fortress
-rw-r--r-- 1 ***** *****   466491 Jul  29  14:06 libgcc_s.so.1
-rwxr-xr-x 1 ***** *****  1451966 Jul  29  14:06 libgraphics.so
-rwxr-xr-x 1 ***** *****  4852343 Jul  29  14:06 libstdc++.so.6
~/Downloads/df_linux/libs$

没找到???它就在那里!我甚至尝试将 Dwarf_Fortress 可执行文件复制到 ~/bin 中,然后在命令行上运行 Dwarf_fortress:

~/Downloads/df_linux/libs$ cd ~/bin
~/bin$ ls -la
total 14788
-rwxr--r--  1 ***** *****      243 Jul  29  14:06 df
-rwx------  1 ***** ***** 15104448 Jun  29  14:06 Dwarf_Fortress
~/bin$ df
/home/*****/bin/df: 6: /home/*****/bin/df: ./libs/Dwarf_Fortress: not found
~/bin$ Dwarf_Fortress
bash: /home/*****/bin/Dwarf_Fortress: No such file or directory
~/bin$

再次出现同样的问题。这有问题

无论如何,如果你一直想知道,我在文件上运行了 touch *,并没有在我的 ~/bin 中包含所有内容,并且在我的 .bashrc 中导出 PS1='/w$ '

我如何尝试修复它

由于它告诉我找不到可执行文件,我将最后一行从 ./libs/Dwarf_Fortress 编辑为完整路径,但出现同样的错误。然后,我尝试删除除导出命令和执行命令(我将其更改为可执行文件的完整路径)之外的所有内容,但出现同样的错误。

一些回复告诉我发布 md5sum,它是 33e26a93e5914f7545fa1aaa53706eeb

答案1

从刚刚解压的矮人要塞的文件夹中,您可以运行以下命令:

pwd; sh -x df

这将允许进一​​步调试启动矮人要塞的脚本

你也可以运行:

md5sum Dwarf_Fortress

从 libs 文件夹中,并将校验和粘贴到这里作为注释(如果可能的话)

答案2

我相信这是因为您试图在 64 位系统上运行 32 位二进制文​​件。我刚刚下载了 DF 40.13,它绝对是 32 位的:

~/Downloads/df_linux/libs$ file *
Dwarf_Fortress: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
libgcc_s.so.1:  ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
libgraphics.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
libstdc++.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped

我的系统是64位的:

~/Downloads/df_linux/libs$ uname -a
Linux daedalus 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux

结果如下:

~/Downloads/df_linux$ ./df
./df: 6: ./df: ./libs/Dwarf_Fortress: not found

我在这里找到了一个解决方案:http://dwarffortresswiki.org/index.php/DF2014:安装#How-to_for_Debian_and_similar 您需要发出 dpkg 和 apt-get 命令,然后按照说明修复音频。

答案3

这个答案已经酝酿很久了。

我也遇到过这个问题,但经过一番研究,我找到了答案。基本上,/bin/sh正在尝试执行本机二进制文件libs/Dwarf_Fortress。这不起作用,因为二进制文件的格式不适合您的处理器(即,二进制文件是 x86 或 x64 格式,而您的处理器不是)。

您需要在 DF 的下载页面上单击“所有版本”,然后选择适合您电脑架构的版本,或者直接自行编译。

相关内容