尝试在Precise上与gccgo链接时,出现此链接错误:matt@matt-1005P:~/src/gopath/src/meme$ gccgo cmd/meme/main.go -o meme/usr/bin/ld: cannot find -lgcc_scollect2: error: ld returned 1 exit status有此错误的报告,但没有干净的解决方案。我如何解决它?gccgo(Ubuntu / Linaro 4.7.0-0ubuntu4)4.7.0Linux matt-1005P 3.2.0-24-generic-pae#38-Ubuntu SMP Tue May 1 1:40:26 UTC 2012 i686 i686 i386 GNU / Linux
3 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
最近在golang-nuts组中提出了这一点:使用gccgo从打包的二进制文件进行编译。
这是Ubuntu中的一个已知问题(错误#966570)。要解决此问题,可以通过-static-libgcc
在gccgoflags中指定来与静态libgcc链接。IE
go build -compiler gccgo -gccgoflags '-static-libgcc'
蛊毒传说
TA贡献1895条经验 获得超3个赞
据我所知,这是因为gccgo基于GCC 4.7,但是Precise默认使用GCC 4.6。出于任何原因,库路径都不正确,或者由于缺少包而导致包不完整libgcc_s
。
我找到了可能的库,find / -name 'libgcc_s*'
并通过了库路径,如下所示:
go install -compiler=gccgo -gccgoflags -L/usr/lib/gcc/i686-linux-gnu/4.6 meme/cmd/meme
请注意,这是针对4.6的链接libgcc_s
,但似乎仍然可以正常工作。
- 3 回答
- 0 关注
- 399 浏览
添加回答
举报
0/150
提交
取消