错误现象

几周前,突然发现我的go 项目编译开始报一种以前从来没有出现过的错误:

# runtime/cgo
clang: warning: argument unused during compilation: '-pthread'
# runtime/cgo
clang: error: no such file or directory: 'libgcc.a'

需要说明下:我的开发机器是mac mini,系统当时是10.8.5, 上周升级为mavericks。

问题进一步探索

刚出现时我有点慌,当然上了google,查出一大堆结果,答案五花八门,一一试过都不能解决,这下我慌了——毕竟go语言是一门新语言,而apple又是google的“死敌”!
我进一步发现,我用 go build -a 就会报这个错误,否则不报这个错误。这就有些蛋疼了:
+ 我修改了某个包
+ 在引用了它的程序里会用它原来的包(在 $GOPATH/pkg/darwin_amd64/ 下),以前用go build -a 就可以保证是最新的(加上 -a 参数会对引用的包重新编译),但现在会报错,于是我只能手动删除 $GOPATH/pkg/darwin_amd64/ (后来我写了一个脚本),然后再编译。

在写了清包脚本和编译脚本后,我就将这事暂时放下了。

问题加剧,不解决不行了

今天早上我需要编译一个linux和Windows版本,于是就到 $GOROOT/src 下执行:

$ sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
$ sudo CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash

这两个命令都报错了,在编译到runtime/cgo 时!问题也是clang 出错。
更令我上火的是,我发现不论在什么情况下 go build 也报文章开头的错误了,这下我只能又一次google。结果与三周前一样一样的。

问题回溯

我在举手无措时,回想几周前出现这个问题我的电脑装了些什么东西呢?我想到那天进行了Xcode 5 的升级。一想到这,我就几乎断定就是xcode5 引起的了。因为xcode是用clang 进行编译的。于是google : upgrade xcode 5 golang warning: argument unused during compilation: ' "-pthread" ,进入到 Mac XCode 5 build problem 看了下,里面提到重新安装go 1.2rc3 就解决了。我依葫芦画瓢,下载golang1.2rc3 ,安装,测试,终于正常了!

总结

写这篇blog有两个目的:
1. 我相信很多golanger 都会遇到这个问题,而golang 1.2rc3 才发布没有多久,或许有些朋友还不知道,写此文已做提醒。
2. 提醒自己对待 “爱机” 像写程序一样细心。

mac上golang编译出现clang错误的更多相关文章

  1. mac 上python编译报错No module named MySQLdb

    mac 上python编译报错No module named MySQLdb You installed python You did brew install mysql You did expor ...

  2. mac上Navicat新建数据库3680错误解决办法

    mac上Navicat新建数据库3680错误解决办法 1.在设置里关闭mysql,若不能关闭,在终端输入: sudo /usr/local/mysql/support-files/mysql.serv ...

  3. [lua] mac上如何编译snapshot(检测Lua中的内存泄露)

    最近我们的unity手游频繁闪退,只要进入战斗场景,之后一段时间就会闪退,如果是在unity编辑器中则会报出not enough memory的错误!猜测应该是有内存泄漏: 由于我们使用了tolua, ...

  4. MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)

    前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的, ...

  5. Mac上反编译Android apk安装包

    什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...

  6. mac 上使用octave的plot错误的解决办法

    在mac10.10上使用octave的时候,键入 plot(x, y)的时候会出现如下错误: ^ line : unknown or ambiguous terminal type; type jus ...

  7. Mac上csv导入mysql提示错误[Error Code] 1290 - The MySQL server is running with the --secure-file-priv option解决办法

    1.进入mysql查看secure_file_prive的值 $mysql -u root -p mysql>SHOW VARIABLES LIKE "secure_file_priv ...

  8. 在Windows上使用CodeLite+MinGW+Clang进行开发

    前几天听说clang 3.4已经release了,然后我又手痒就折腾一下,在这里记录一下折腾的经过. 在以前就试过clang-cl+VC的开发环境,编译代码到是没发现什么大问题,有不少警告而已,不过c ...

  9. TiDB之mac上搭建及调试技巧

    此文目的 由于本人最近已经成为TiDB的粉丝,所以就开始各种研究TiDB的源码,研究源码这个事情,首先就需要在自己电脑上不断的调试及修改.TiDB本身的代码是非常容易编译和调试的,但是要把PD.TiK ...

随机推荐

  1. Ubuntu更换国内源

    打开终端,输入:sudo gedit /etc/apt/sources.list 在文件最底部输入以下内容: deb http://mirrors.ustc.edu.cn/ubuntu/ xenial ...

  2. MAMP:MySQL wasn't able to start

    MAMP 我点击start server的时候 发现mysql服务器打不开 http://images.cnblogs.com/cnblogs_com/lwwen/1231721/o_11111111 ...

  3. 【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

    在同一套环境中跑了很多个项目都是用 docker-compose的方式启动的,导致创建的自定义网络过多出现下面的报错 Error response from daemon: could not fin ...

  4. Jquery之倒计时计算

      setInterval(); function setDate(setTime){ var date = new Date();//获取系统当前时间 )+)+"-"+date. ...

  5. 9-客户端集成IdentityServer

    1-创建客户端的webapi项目 E:\coding\netcore\IdentityServerSample>dotnet new webapi --name IdentityCredenti ...

  6. c#中insert Geography的字段,包含事务

    SqlConnection conn = new SqlConnection(); conn.ConnectionString ="你的sql server数据库连接字符串"; c ...

  7. ORB-SLAM(八)ORBmatcher 特征匹配

    该类负责特征点与特征点之间,地图点与特征点之间通过投影关系.词袋模型或者Sim3位姿匹配.用来辅助完成单目初始化,三角化恢复新的地图点,tracking,relocalization以及loop cl ...

  8. spark中数据倾斜解决方案

    数据倾斜导致的致命后果: 1 数据倾斜直接会导致一种情况:OOM. 2 运行速度慢,特别慢,非常慢,极端的慢,不可接受的慢. 搞定数据倾斜需要: 1.搞定shuffle 2.搞定业务场景 3 搞定 c ...

  9. 蓝牙入门知识-CC2541知识

    蓝牙是为了能够通信,想要通信就必须遵守一定的规则, Profile 就可以理解为相互约定的规则,因为每个协议栈demo 都会有一个Profile 与之对应, 我们这里的SimpleBLExxx 对应的 ...

  10. css 网站常用

    简单的loading效果 .progressBar { border: solid 1px #303031; font: bold 20px/22px Arial, sans-serif; backg ...