Linux 链接报错

/usr/bin/ld: */linux_x32/lib/libhpsocket.a(HPSocket.o): unrecognized relocation (0x2b) in section `.text'
/usr/bin/ld: final link failed: Bad value

在网上一番搜索后, 基本确定是ld链接器版本过低造成的。我的系统是 ubuntu 14.04

1、查看我的当前版本:

root@ubuntu:# ld -v
GNU ld (GNU Binutils) 2.24

2、下载所需版本

http://ftp.gnu.org/gnu/binutils/

3、编译安装

解压后执行安装脚本

脚本链接icon-default.png?t=M276https://blog.csdn.net/ACK_ACK/article/details/123988288

4、备份与修改

备份原系统中的ld链接器,发现是软连接, 使用ls /usr/bin/ld -al 原文件,发现指向了ld.bfd,将二者备份,使用刚编译的替换。

5、验证

root@ubuntu:~# ld -v
GNU ld (GNU Binutils) 2.26.20160125

再次编译程序成功。

你可能感兴趣的:(Linux,relocation,0x2b)