“.text”部分中的cgo错误无法识别的重定位(0x2a)

前端之家收集整理的这篇文章主要介绍了“.text”部分中的cgo错误无法识别的重定位(0x2a)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_0@
使用Cgo构建Go程序时出现错误
/usr/lib/go/pkg/tool/linux_amd64/link: running gcc Failed: exit status 1
/usr/bin/ld: /tmp/go-link-373355991/000002.o: unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link Failed: Bad value
collect2: error: ld returned 1 exit status

尝试谷歌那个问题,发现Debian和Ubuntu上的一些错误(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808205)与libc6(2.21)版本中的C编译器和链接器比我使用的版本(2.19)更新.

还提到编译C程序时遇到问题,我在C中成功编译了示例.

我尝试在具有相同系统和库版本的其他机器上构建我的Go程序,并且构建成功.

解决方法

检查您是否使用ccache.
即:echo $PATH
如果/usr/local / ccache路径首先出现…请注意!
ccache尝试使用缓存来优化编译时间.
如果您使用第一个编译器构建了一个lib,然后尝试使用另一个编译器进行编译,则会遇到此类重定位问题.

所以试着清除ccache:ccache -C
或者只需编辑PATH,通过export PATH = /usr/bin删除专用于ccache的路径:…

一个Thilas

猜你在找的HTML相关文章