无法在 Ubuntu 上执行二进制文件

无法在 Ubuntu 上执行二进制文件

我正在尝试在一台机器上安装和配置 Ubuntu。我刚刚下载了'p4'又名 Perforce 命令行客户端)。这是一个通过静态链接的可执行二进制文件执行的单个文件下载,因此我使用以下命令下载它:

wget http://www.perforce.com/downloads/perforce/r09.2/bin.linux26x86/p4

直接倒进机器里/usr/bin目录

够简单了吧?

除了...

root@aj-ubuntu:/usr/bin# ll p4 
-rwxr-xr-x 1 root root 748808 2010-02-11 16:54 p4
root@aj-ubuntu:/usr/bin# ./p4 
-su: ./p4: No such file or directory
root@aj-ubuntu:/usr/bin# /usr/bin/p4 
-su: /usr/bin/p4: No such file or directory

这里发生了什么事……?!

答案1

好的,我从您的 URL 获取了文件(小于 800KB)并尝试了此操作(从方便的 Cygwin 终端)。

$ file p4
p4: ELF 32 位 LSB 可执行文件,Intel 80386,版本 1 (SYSV),适用于 GNU/Linux 2.2.5,动态链接(使用共享库),已剥离

但是,您希望它是静态链接的,为什么?


更新:为确保万无一失,请确认您正在运行 32 位 Ubuntu。
如果您正在运行 64 位系统,则可能需要“ ia32-libs”包。

答案2

尝试file ./p4看看它说了什么。很可能你没有安装正确的库来运行它(所以它根本无法加载二进制文件 - 如果你没有正确的 dll,你会在 Windows 上遇到同样的问题)

答案3

看看ls -lb p4*文件名中是否有任何杂散字符。

答案4

解释器readelf -a /usr/bin/p4 | grep interpreter指向的可能缺失。其他评论者指出,它可能包含在某个兼容包中。

相关内容