【发布时间】:2019-06-25 13:08:53
【问题描述】:
我无法解释的最奇怪的经历让我把头发拔了出来。我有一个二进制可执行文件 MMM 并且它存在,我可以看到它具有 x 权限集,当我按下 TAB 键并且文件确认其可执行文件时,bash 甚至会自动完成名称,但是会发生这种情况:
~/tmp$ ls -l
total 56
-rwxrwxr-x 1 polyphemus polyphemus 56948 Jun 25 22:43 MMM
~/tmp$ file MMM
MMM: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.2.5, stripped
~/tmp$ ./MMM
-bash: ./MMM: No such file or directory
所以我从另一台服务器复制了这个文件,并确保我没有发生一些奇怪的文件损坏,而不是解释 bash 的荒谬声称文件不存在,我将文件复制到 NAS 并从 NAS 回到另一台服务器并重复完全相同的实验,只是发生了这种情况:
~/tmp$ ls -l
total 56
-rwxr-xr-x 1 bernd bernd 56948 Jun 25 22:53 MMM
~/tmp$ file MMM
MMM: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.2.5, stripped
~/tmp$ ./MMM
JAVA_HOME is not set. ./MMM cannot start.
如果有帮助的话,它们都是 Linux Mint 盒子,它可以工作的是一台装有 Mint 19 的开发机器,而不能工作的是一台全新安装的 Mint 19.1。
安装工作正常,其他可执行文件运行正常,然后我可以使用 ./file 在 bash 中运行。
我研究并比较了商店,一无所获,别名也一无所获。这让我把头发拉出来。我希望有人以前看过这个。
【问题讨论】:
-
interpreter /lib/ld-对我来说看起来不对,你自己编译(链接)了吗? -
不,这是我使用多年的旧 32 位 Java 程序。它运行正常,在上面的开发盒上运行,也在这个重新安装的盒子上运行。对于非常好奇的关于它的窗口:“MusicIP Mixer 1.8(构建日期:2007 年 7 月 21 日)” - 我承认这是 bash 的消息让我感到困惑。
-
您的系统不支持 i386 32 位架构。您需要将 32 位支持库安装到 Linux Mint 系统。请参阅:blog.linuxmint.com/?p=2211
-
聪明的想法!我在这里检查:blog.linuxmint.com/?p=2211 并运行了两个声明的命令,但行为没有改变。不过还没有重启。
标签: bash