1

我正在尝试为 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 位

4

1 回答 1

0

因此,感谢 Dean 的提示,我已经解决了这个问题并解决了它。

这个问题是由于我通过 apt-get 安装 Go,然后删除它(通过 apt-get),然后从 golang 网站安装 Go 引起的。仍然有第一次安装遗留下来的文件,这些文件可能是旧版本,因此不支持该-marm标志。

无论如何,我打算擦除我的开发机器,所以我做了,再次安装了 Ubuntu,从网站安装了 Go(不是通过 apt-get),一切都在第一次工作。如果您不想擦除您的机器,那么请确保环顾四周,看看是否存在版本冲突。

我之前一直被这种事情所困扰(当通过 apt-get 安装 node.js 时,意识到它的许多版本已经过时,然后删除并通过源安装 node.js),所以如果有人正在阅读这个,通过 apt-get 安装软件,然后升级时要小心,因为您可能会遇到与我类似的版本问题!

于 2015-01-09T11:23:35.147 回答