精确的gccgo

尝试在Precise上与gccgo链接时,出现此链接错误:


matt@matt-1005P:~/src/gopath/src/meme$ gccgo cmd/meme/main.go -o meme

/usr/bin/ld: cannot find -lgcc_s

collect2: error: ld returned 1 exit status

有此错误的报告,但没有干净的解决方案。我如何解决它?


gccgo(Ubuntu / Linaro 4.7.0-0ubuntu4)4.7.0


Linux matt-1005P 3.2.0-24-generic-pae#38-Ubuntu SMP Tue May 1 1:40:26 UTC 2012 i686 i686 i386 GNU / Linux


慕斯王
浏览 400回答 3
3回答

慕桂英4014372

最近在golang-nuts组中提出了这一点:使用gccgo从打包的二进制文件进行编译。这是Ubuntu中的一个已知问题(错误#966570)。要解决此问题,可以通过-static-libgcc在gccgoflags中指定来与静态libgcc链接。IEgo build -compiler gccgo -gccgoflags '-static-libgcc'

蛊毒传说

据我所知,这是因为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,但似乎仍然可以正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go