go1.6.2 linux/amd64 的一个bug: gcc: 无法识别的选项‘-no-pie’

时间:2022-06-05 10:03:24

如果你的linux是中文版的。

即:执行 # echo $LANG 命令,返回的是 zh_CN.UTF-8 则会出现这个bug, 如果是 en_US.UTF-8 则没有这个问题。

 

这个bug的一个例子:

# go get -u github.com/mattn/go-sqlite3
# github.com/mattn/go-sqlite3
gcc: 无法识别的选项‘-no-pie’

 

虽然会报这个错误,第二次执行则不会报错,但是编译出来的二进制文件是有问题的。

删除 GOPATH 下 pkg/linux_amd64/github.com/mattn/go-sqlite3.a 文件再次执行就可以重现这个问题。

 

这个问题在 https://github.com/golang/go/issues/15900 已经看到有人提出了。 并且在 Go 1.7 版本中已经解决了。

我们就只能等 1.7 的发布了,或者把自己得 linux 改成 英文版来避免这个问题。

 

 

 

参考资料:

解决Linux中文乱码
http://blog.csdn.net/hongweigg/article/details/6540333