我无法在 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
如果您下载了二进制文件并且执行时出现此错误,请检查您是否下载了错误操作系统的版本。