Golang 交叉编译:gccgo - 无法识别的命令行选项`-marm`

我正在尝试为 linux/arm 编译一个 Go 应用程序,但在我的 Ubuntu 机器上一直遇到问题。当我GOOS=linux GOARCH=arm go build在我的源目录中运行时,我得到了大量的错误,它们是:

# github.com/huin/mqtt

gccgo:错误:无法识别的命令行选项`-marm`

运行gccgo --help通知我以 -g、-f -m(和其他)开头的选项将传递给 gccgo 启动的任何子进程,所以我不知道它将 -marm 发送到哪个进程。

有什么线索吗?Ubuntu 14.10 LTS,64 位


九州编程
浏览 364回答 1
1回答

精慕HU

多亏了迪恩的线索,我已经解决了这个问题并解决了它。该问题是由于我通过 apt-get 安装 Go,然后将其删除(通过 apt-get),然后从 golang 网站安装 Go 引起的。仍然有第一次安装遗留下来的文件,这些文件可能是旧版本,因此不支持该-marm标志。无论如何,我打算擦掉我的开发机器,所以我做到了,再次安装了 Ubuntu,从网站(不是通过 apt-get)安装了 Go,并且第一次一切正常。如果您不想擦除您的机器,那么只需确保环顾四周,看看是否存在版本冲突。我以前被这种事情刺痛过(当通过 apt-get 安装 node.js 时,意识到它有很多版本已经过时,然后删除并通过源安装 node.js),所以如果有人正在阅读这篇文章,通过 apt-get 安装软件然后升级时要小心,因为您可能和我一样有类似的版本问题!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go