我正在尝试为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位
答案 0 :(得分:0)
感谢Dean提供的线索,我已经解决了问题并解决了问题。
问题是由我通过apt-get安装Go,然后将其删除(通过apt-get),然后从golang网站安装Go引起的。第一次安装时仍有文件遗留,可能是旧版本,因此不支持-marm
标记。
无论如何我打算擦我的开发机器,所以我做了,再次安装了Ubuntu,从网站安装了Go(不是通过apt-get),一切都工作了。如果您不想擦拭机器,请务必四处查看是否存在版本冲突。
之前我曾经被这种事情所困扰(通过apt-get安装node.js,意识到它已经过时了许多版本,然后删除,并通过源安装node.js),所以如果任何人都在读这个,在通过apt-get安装软件时要小心,然后升级,因为你可能有像我一样的类似版本问题!