ld版本更新:解决/usr/bin/ld: libsdk.a(Imagexxx.cpp.o):unrecognized relocation (0x2a) in section `.text`()

最新推荐文章于 2023-09-03 18:32:04 发布
最新推荐文章于 2023-09-03 18:32:04 发布 阅读量3.3k

今天解决了一个困扰了很久的问题,偶然运行了flair中compile source.f文件,直接在lfluka下,报错:

/usr/bin/ld: libsdk.a(Imagexxx.cpp.o): unrecognized relocation (0x2a) in section .text
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

参考了第一个链接内容,
查询了服务器中opt目录下可运行的ld版本
查询的命令是

$ ld -v

确定版本为
GNU ld version 2.32-16.el7
在这里插入图片描述

查询share目录下gcc使用的/usr/bin中ld版本为:
GNU ld version 2.25.1-32.base.el7_4.1

原因在此,决定安装新的Binutils版本

  1. 下载rpm包,失败,提示:
    在这里插入图片描述
    参考链接3,使用tar安装包安装到/usr
$ ./configure --prefix=/usr 

考虑还是因为share目录中gcc运行有问题,换成opt目录下gcc

$ source /opt/rh/devtoolset-9/enable

按照链接3方法安装成功

tar -zxf binutils-2.32.tar.gz 
cd binutils-2.32
./configure --prefix=/usr
make install在这里插入代码片
$ ld -v
GNU ld version 2.32-16.el7

然后新开窗口,注意我是命令行source …enable,再profile中这句是注释掉的,打开flair,编译成功

本次操作发现,如果不是系统配置了两个gcc,其中一个能运行,那么binutils-3.2的安装很可能无法成功进行。所以这里强烈推荐使用develtool方法安装gcc,查询目录知道这是打包安装,不依赖系统/usr/bin中的内容,会避免很多坑。

参考链接:

  1. https://blog.csdn.net/daxiang10m/article/details/93190949
  2. https://stackoverflow.com/questions/46058050/unable-to-compile-unrecognized-relocation
  3. https://www.jianshu.com/p/bf27658875dd
  4. https://blog.csdn.net/syxzsyxz1/article/details/115300804
ld版本更新:解决/usr/bin/ld: libsdk.a(Imagexxx.cpp.o):unrecognized relocation (0x2a) in section `.text`() 今天解决了一个困扰了很久的问题,偶然运行了flair中compile source.f文件,直接在lfluka下,报错:/usr/bin/ld: libsdk.a(Imagexxx.cpp.o): unrecognized relocation (0x2a) in section .text/usr/bin/ld: final link failed: Bad valuecollect2: error: ld returned 1 exit status参考了第一个链接内容,查询了服务器中opt目
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要安装glibc.i686 使用命令:sudo yum install glibc.i686 再次查看版本: 以上所述是小编给大家介绍的centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件,希望对大家有所帮助,如果大家有任何
因为缺少了libGL环境,此时更新libGL环境 执行此命令sudo apt-get install libgl1-mesa-dev 执行完命令会提示错误,说依赖关系被破坏 因为是源有问题,需要进行源的配置与更新 点击桌面右上角设置图标->系统设置->系统-软件和更新->Ubuntu软件 点击下载自的选框 选择其他站点 选择中国的站点,不建议外国的 更新完站点后,执行sudo apt-get install libgl1-mesa-dev 输入y后等待更新完环境 之后在去QT构建就能构建成功了
解决unrecognized relocation (0x2a) in section .text /usr/bin/ld: …/deps/zw/lib/libdmsdk.a(http.o): unrecognized relocation (0x2a) in section `.text’ /usr/bin/ld: final link failed: 错误的值 collect2: 错误...
今天看到go1.16发布了,修改了内存管理的方式,打算升级试下,结果编译时遇到下面的错误: /usr/local/go/pkg/tool/linux_amd64/link: running g++ failed: exit status 1 /usr/bin/ld: /tmp/go-link-852636201/000012.o: unrecognized relocation (0x2a) in section `.text' /usr/bin/ld: final link failed: Bad val
使用的一个库更新了,升级新的版本之后,在服务器上编译linux-x86-64版本的时候会出现错误: **/usr/bin/ld: libsdk.a(Imagexxx.cpp.o): unrecognized relocation (0x2a) in section `.text` /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status**
当前工程的需求是把调用了boost库的C++工程编译成为一个动态链接库以供Python调用,(boos 的使用过程也有些曲折,详细过程及模板伪代码请见本人的这篇博客: ),但是在调整完成wrapper.cc后,编译,报错提示 /usr/bin/ld: ../lib/libXXX.a(XXX.cc.o): relocation R_X86_64_PC32 against symbol `_ZN8planning4eudm31_LonSim
出现这个问题最有可能的原因为gcc版本与系统的ld版本不搭引起的。 ld的版本可以通过ld -v查看,像我使用gcc-6.1.0,ld版本为2.5 的时候就会报错,升至2.7该错误就会消失。 解决方法: 下载新版的binutils,网址为:http://ftp.gnu.org/gnu/binutils/ 无需root用户,直接configure配置好路径,然后make && make install即可。最后配置在~/.bashrc利用export PATH指向binutils的bin文件即
最近在编译一个工程的时候, 偶然遇到一个报错 /usr/bin/ld: 某个库 : unrecognized relocation (0x2a) in section `.text` /usr/bin/ld: final link failed: 错误的值 这个错大致意思在符号链接过程中, 链接失败, 而出现下面这样的情况,大概率就是链接器版本不正确导致的 而 ld 是 GUN 下提供的库链接器, 通过和同事比较了一下 ld 工具的版本后, 果然是我的版本较低, 所以接下来主要就是更新 ld 这个工具
这错误信息看起来像是编译链接 OpenSSL 库时出现的问题。通常情况下,这是由于缺少 OpenSSL 库或库路径不正确导致的。您可以尝试以下解决方法: 1. 确保您已经正确安装了 OpenSSL 库,如果没有,请先安装它。 2. 如果您已经安装了 OpenSSL 库,但是仍然出现此错误,请检查您的库路径是否正确。您可以使用以下命令来设置库路径: export LD_LIBRARY_PATH=/usr/local/ssl/lib 这里的路径是您 OpenSSL 库的安装路径,您需要将其替换为实际的路径。 3. 如果上述方法都无法解决问题,请检查您的编译命令是否正确。您需要确保在链接 OpenSSL 库时使用了正确的参数,例如: gcc -o myapp myapp.o -L/usr/local/ssl/lib -lssl -lcrypto 这里的参数 -L 指定了库路径,-l 指定了要链接的库。您需要将其替换为实际的参数。 希望这些解决方法能够帮助您解决问题。如果您还有其他问题,请随时提出。
ld版本更新:解决/usr/bin/ld: libsdk.a(Imagexxx.cpp.o):unrecognized relocation (0x2a) in section `.text`() flair,python安装以及Python tkinter # If this fails your Python may not be configured for Tk解决方法