我无法在我的linux pc上编译任何东西。我不知道为什么,可能是我安装了某个包,弄得一团糟。我已经卸载并重新安装了gcc和其他软件包,但没有好消息。还有这个问题。
这就是信息:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-
linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crt1.o: unrecognized relocation (0x29) in section `.text'你知道这意味着什么以及如何解决这个问题吗?
干杯
发布于 2017-12-09 12:13:19
对于遇到这个问题的其他人:我认为@gabib44的问题是使用旧版本的ld来链接用新版本构建的库。
当位置调整类型大于您的ld版本中已知的最大位置调整类型时,就会发生“无法识别的位置调整”。0x2a (R_X86_64_REX_GOTPCRELX)是目前值最大的重定位类型;我猜@gabib44的ld已经足够老了,不知道之前的重定位类型(0x29,R_X86_64_GOTPCRELX)。
当我使用binutils v2.26 (它知道重定位0x2a)构建一个库,然后使用binutils v2.24将该库整合到构建机器上时,我自己也遇到了这个问题。
修复方法是构建要与旧版本的binutils套件链接的库,或者在要链接该库的计算机上升级ld。
发布于 2018-03-16 23:23:50
我在另一篇文章中发现了这一点:
[编译时的...which会导致此错误:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/../../../../x86_64-pc-linux-
gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-
gnu/6.4.0/../../../../lib64/Scrt1.o: unrecognized relocation (0x2a) in
section `.text'在尝试了很多东西之后,包括从不同的Gentoo系统中产生二进制文件,我终于恢复了,多亏了optiz0r (用于解决我的问题)和Ryuno-Kim解决了这个问题。
sudo binutils-config x86_64-pc-linux-gnu-2.29.1非常简单!您的问题的解决方案可能有所不同,但运行
sudo binutils-config -l可能会显示您可以输入的版本,而不是我使用的版本...]由necrophcodr»Tue Feb 06,2018 21:24 on https://forum.sabayon.org/viewtopic.php?f=57&t=34076&p=181260#p181260
这对我很管用。
发布于 2017-09-06 14:57:36
我修复了安装gcc-32bit和删除其他各种数据包的问题
https://stackoverflow.com/questions/46058050
复制相似问题