我在 fstab 中以以下方式安装了一个图像:
/home/fbence/ee_modbox.img /home/fbence/mounted/modbox lowntfs-3g windows_names,ignore_case,umask=007,uid=fbence 0 0
在已安装映像上的特定文件夹中,我拥有具有以下权限的以下文件:
fbence@localhost:~/mounted/modbox/bg2ee/game$ ls -l
total 38239
-rwxrwx--- 1 fbence root 11774908 dec 19 2017 baldursgateii
drwxrwx--- 1 fbence root 4096 dec 19 2017 characters
-rwxrwx--- 1 fbence root 1154176 dec 19 2017 chitin.key
drwxrwx--- 1 fbence root 57344 dec 19 2017 data
drwxrwx--- 1 fbence root 4096 jan 27 2018 eet
-rwxrwx--- 1 fbence root 29271 dec 19 2017 eet_end.tp2
-rwxrwx--- 1 fbence root 162 dec 19 2017 eet_gui.tp2
drwxrwx--- 1 fbence root 4096 dec 19 2017 eet_tweaks
-rwxrwx--- 1 fbence root 109 dec 19 2017 engine.lua
drwxrwx--- 1 fbence root 0 dec 19 2017 lang
lrwxrwxrwx 1 fbence root 14 nov 3 23:44 libjson.so.0 -> libjson-c.so.2
-rwxrwx--- 1 fbence root 255 jan 27 2018 list.txt
drwxrwx--- 1 fbence root 0 dec 19 2017 manuals
drwxrwx--- 1 fbence root 4096 dec 19 2017 movies
drwxrwx--- 1 fbence root 53248 dec 19 2017 music
drwxrwx--- 1 fbence root 3072000 jan 27 2018 override
drwxrwx--- 1 fbence root 4096 dec 19 2017 scripts
-rwxrwx--- 1 fbence root 17548975 dec 19 2017 setup-eet.debug
-rwxrwx--- 1 fbence root 1028264 dec 19 2017 setup-eet_end
-rwxrwx--- 1 fbence root 1028264 dec 19 2017 setup-eet_gui
-rwxrwx--- 1 fbence root 3361726 jan 27 2018 setup-eet_tweaks.debug
-rwxrwx--- 1 fbence root 3950 dec 19 2017 weidu-bgee.log
-rwxrwx--- 1 fbence root 17 dec 19 2017 weidu.conf
-rwxrwx--- 1 fbence root 1879 jan 27 2018 weidu.log
drwxrwx--- 1 fbence root 0 dec 19 2017 worldmap
当我尝试执行baldursgateii
可执行文件时出现错误,我完全不明白为什么会出现这个错误:
fbence@localhost:~/mounted/modbox/bg2ee/game$ ./baldursgateii
bash: ./baldursgateii: No such file or directory
镜像和设置是从另一台运行与当前计算机相同的 Ubuntu 18.04 的计算机复制而来的。文件显然在那里,我实际上使用 bash tab 自动完成来输入文件名,但它仍然说没有这样的文件...这里出了什么问题?
编辑
fbence@localhost:~/mounted/modbox/bg2ee/game$ ldd baldursgateii
not a dynamic executable
答案1
当您知道是二进制可执行文件但无法运行时,并出现一条No such file or directory
消息,这通常是由于共享库存在问题。
在某些情况下,这是因为缺少一个或多个共享库。运行
ldd ./baldursgateii
(例如)应该有助于识别哪一个。另一方面,如果ldd
本身失败,则会出现无用(且不正确)的消息
not a dynamic executable
那么这可能表明你正试图在缺少 32 位动态加载程序的系统上运行 32 位可执行文件,如ldd 32 位 exe / 64 位操作系统
要在当前多架构 64 位系统中获取缺少的 32 位加载器,您应该安装该libc6-i386
软件包:
sudo apt install libc6-i386
从apt show libc6-i386
:
描述:GNU C 库:适用于 AMD64 的 32 位共享库 此软件包包含标准 C 库和标准数学库的共享版本,以及许多其他库。这是该库的 32 位版本,适用于 AMD64 系统。
除了 32 位加载器之外,这还会安装一组最小的 32 位库:如果程序仍然无法执行,请ldd ./baldursgateii
再次运行以检查其他特定未满足的库依赖关系。