我无法在电脑上编译任何东西。我不知道为什么,可能我已经安装了一些包装并弄得一团糟。我已经卸载并重新安装了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'
知道这是什么意思以及如何解决这个问题?
欢呼声
答案 0 :(得分:15)
对于遇到此问题的其他任何人:我认为@ gabib44的问题是使用较旧版本的ld
来链接使用较新版本构建的库。
"无法识别的搬迁"当重定位类型大于ld
版本中最大的已知重定位类型时发生。 0x2a
(R_X86_64_REX_GOTPCRELX
)目前是具有最大价值的重定位类型;我猜@ gabib44' s ld
已经足够大了,不知道那之前的重定位类型(0x29
,R_X86_64_GOTPCRELX
)。
当我使用binutils v2.26构建库时(我知道重定位0x2a
),然后使用binutils v2.24将该库合并到构建机器上时,我自己遇到了这个问题
修复方法是构建要与旧版本binutils套件链接的库,或者在想要链接该库的计算机上升级ld
。
答案 1 :(得分:2)
我在另一篇文章中发现了这个:
[...编译时会出现此错误:
/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-Ki [m](让我知道)解决了问题关于optiz0rs在我退出时的回复。)
sudo binutils-config x86_64-pc-linux-gnu-2.29.1
很简单!您的问题的解决方案可能有所不同,但正在运行
sudo binutils-config -l
可能会显示您可以输入的版本,而不是我使用的版本...] by necrophcodr»Tue Feb 06,20188 21:24 在https://forum.sabayon.org/viewtopic.php?f=57&t=34076&p=181260#p181260
它对我有用。
答案 2 :(得分:1)
我修复了安装gcc-32bit并删除其他各种数据包的问题