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

时间:2015-01-08 13:15:00

标签: linux go gccgo

我正在尝试为linux / arm编译一个Go应用程序并继续在我的Ubuntu机器上遇到问题。当我在源目录中运行GOOS=linux GOARCH=arm go build时,我得到了大量的变体:

  

#github.com/huin/mqtt

     

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

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

任何线索? Ubuntu 14.10 LTS,64位

1 个答案:

答案 0 :(得分:0)

感谢Dean提供的线索,我已经解决了问题并解决了问题。

问题是由我通过apt-get安装Go,然后将其删除(通过apt-get),然后从golang网站安装Go引起的。第一次安装时仍有文件遗留,可能是旧版本,因此不支持-marm标记。

无论如何我打算擦我的开发机器,所以我做了,再次安装了Ubuntu,从网站安装了Go(不是通过apt-get),一切都工作了。如果您不想擦拭机器,请务必四处查看是否存在版本冲突。

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