为什么我会收到一个zsh:exec格式错误的提示?

26

我正在尝试在我的zsh终端中运行metal可执行文件,以进行GWAS数据的元分析。我已将可执行文件放在正确的目录中,并检查过它不是由于截断而为0MB。

可重现的步骤: 从http://csg.sph.umich.edu/abecasis/metal/download/下载Linux文件。

在终端中:

PATH TO EXECUTABLE ./metal
zsh: exec format error: ./metal

在最近的oh-my-zsh更新后,我遇到了相同的错误,但是是针对另一个可执行文件。 - Iván
4个回答

33
你可能安装了错误的Go操作系统,例如,在Linux上安装了适用于MacOS的Go。
我通过安装适合正确操作系统的Go来解决这个问题。
编辑:另外,你可能选择了正确的操作系统,但是错误的架构。

zsh error for architecture mismatch


1
如果有人需要的话,我在这里分享一下我的经验。我的情况是我设置了一个名为GOOS的环境变量,并试图在Mac上构建它,结果出现了这个错误。
通过执行unset GOOS命令解决了问题。

1

可执行文件已经在某个发行版上进行了预编译,使用了特定版本的库,并放置在特定位置。

如果您使用不同的发行版或库版本,则无法正常工作,最好从源代码编译。

基本上,您需要做的是下载并提取源代码,进入文件夹并执行make。(您可能需要先安装make。)

我认为这根本不是您的工作,因此您可以找到一个极客人士来帮助您,因为您可能会遇到问题,需要安装库,旧版本不再受支持,新版本尚未支持等等问题...


0

当我不小心清空了一个可执行文件时,这种情况就发生在我身上了。

~>true > a
~>wc -c a
0 a
~>./a
zsh: exec format error: ./a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接