问题
我正在尝试按照一个简单的安装程序来运行一个简单的程序(而且我过去曾经使用过它)。
该程序包含的文件如下
libiomp5.so MOPAC2016.exe
执行它时出现以下错误:
bash: /opt/mopac/MOPAC2016.exe: cannot execute binary file: Exec format error
系统信息
我正在运行 Lubuntu 20.04
该程序适用于 x86 架构,我的电脑中的 uname -a 返回
Linux eoan 5.4.0-39-generic #43-Ubuntu SMP Fri Jun 19 10:28:31 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
各种各样的
该网站称该程序已在 ubuntu 和 redhat 上进行了测试。它还包括以下一段,我认为应该有用:
对于其他版本的 Linux:必须确定 Linux 操作系统使用的 glibc 版本。如果尝试安装 MOPAC 成功,那就太好了!如果它抱怨缺少 glibc,请确定 Linux 操作系统使用的 glibc 版本,然后使用适当的 CentOS 版本。这些是:CentOS 5:glibc-2.5 CentOS 6:glibc-2.12,CentOS 7:glibc-2.17。
答案1
压缩文件中存在错误。加载的是 MOPAC2016.exe 的 MacOS 可执行文件,而不是 Ubuntu 版本。
Ubuntu 版 MOPAC2016.exe 现已放入上传到 openmopac.net 的 zip 文件中,下载到 Ubuntu 机器上并进行验证。此操作发生于 2020 年 6 月 28 日 13:00GMT
我对此错误深表歉意。我向提醒我此问题的用户表示感谢和赞扬。
答案2
看起来软件开发人员将错误的文件打包到了错误的档案中。
主要可执行文件是为了苹果 macOS:
cd ~/Downloads wget http://openmopac.net/MOPAC2016_for_Linux_64_bit.zip unzip MOPAC2016_for_Linux_64_bit.zip $ file ./MOPAC2016.exe ./MOPAC2016.exe: Mach-O 64-bit x86_64 executable
作为一种解决方法,你必须尝试 CentOS 7 版本的软件:
cd ~/Downloads wget http://openmopac.net/MOPAC2016_for_CentOS-7.zip unzip MOPAC2016_for_CentOS-7.zip
因为它具有正确的文件类型:
$ file MOPAC2016.exe MOPAC2016.exe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped, too many notes (256)
所以你必须下载MOPAC2016_for_CentOS-7.zip然后按照他们的指示去做/opt/mopac
等等。