Bash:./filename:无法执行二进制文件

Bash:./filename:无法执行二进制文件

我无法在 ubuntu 11.10 32 位中执行 fortran 编译的代码。

错误信息是

bash: ./filename : Cannot execute binary file.

我也安装了 gcc 和 gfortran 库。

有人可以帮忙吗?

$ file um
um: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 

答案1

正如您从评论中发布的输出中看到的file um那样,您的二进制文件是 64 位二进制文​​件。

32 位系统无法运行 64 位二进制文​​件,只能反过来。

答案2

对于遇到此问题的人来说,除了不匹配位的部分之外,另一种解决方案是在不使用命令“bash”的情况下运行该文件。

只需使用chmod +x 'path to the file'然后'the path to the file'在终端中运行。这就是我解决问题的方法。

答案3

对于 Google 员工来说:

  • 32 位还是 64 位?请检查file yourbinary
  • 是否允许执行?chmod +x yourbinary
  • 路径正确吗?./yourbinary

答案4

此错误的另一个可能来源:尝试在 Mac 上运行 Linux 二进制可执行文件,反之亦然。

例如,尝试在true我通过 SCP 将其连接到的 Ubuntu 机器上运行 Mac 上的二进制文件:

$ ./mactrue 
-bash: ./mactrue: cannot execute binary file: Exec format error

如果您下载了二进制文件并且执行时出现此错误,请检查您是否下载了错误操作系统的版本。

相关内容