不能执行二进制文件

use*_*883 6 binary executable ldd

我有一个二进制可执行文件,它是我下载的学术软件包的一部分.我似乎无法让它运行,我无法访问源代码.我尝试过以下的事情.有什么想法吗?

非常感谢.

$ chmod +x random_cell
$ ./random_cell
-bash: ./random_cell: cannot execute binary file
$ file random_cell
random_cell: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
$ ldd random_cell
random_cell: is not an object file
$ uname -m
x86_64
Run Code Online (Sandbox Code Playgroud)

Cla*_*dio 0

请注意命令的输出file

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked 
(uses shared libs), for GNU/Linux 2.6.4, not stripped
Run Code Online (Sandbox Code Playgroud)

也就是说,您尝试运行的可执行文件是针对x86-64架构编译的。如果您使用的是 32 位操作系统,除非您将其重新编译为 32 位,否则该操作系统将无法运行。

由于你没有源代码,我想更简单的解决方案是使用 64 位 Linux 系统来运行它。

  • 嗯..所以你用的是MAC。我猜你用的是Linux。也许这就是问题所在……如果这个二进制文件适用于 64 位 Linux,它可能无法在 MAC 上运行(如果我没记错的话,MAC OS 内核基于 BSD unix)。好吧,我可能对它们的二进制不兼容程度是错误的,但你应该检查一下,这可能是它不适合你的原因(请参阅“文件”响应:“对于 GNU/Linux 2.6.4”)。 (2认同)