You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让二进制程序依赖正确的libpthread库?

问题:让二进制程序依赖指定目录下的libpthread-2.31.so

当前目录文件

已从压缩包中解压出以下文件:

└─$ ls
ld-2.31.so  libc.so.6  libpthread-2.31.so  professor  professor.zip

运行程序时的错误

执行./professor时出现如下错误:

└─$ ./professor
./professor: ./libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by /lib/x86_64-linux-gnu/libpthread.so.0)

依赖检查结果

通过ldd查看程序依赖,发现程序加载了系统路径下的libpthread.so.0,而非当前目录的libpthread-2.31.so:

└─$ ldd professor
./professor: ./libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by /lib/x86_64-linux-gnu/libpthread.so.0)
        linux-vdso.so.1 (0x00007ffefb53f000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7d5ce0a000)
        libc.so.6 => ./libc.so.6 (0x00007f7d5cc18000)
        ./ld-2.31.so => /lib64/ld-linux-x86-64.so.2 (0x00007f7d5ce24000)

已尝试的方法

使用patchelf --set-rpath . professor尝试修改rpath,但无效——程序的rpath已经设置为.,加载器配置看似正确,仅libpthread的依赖未指向当前目录的文件。

提问

如何让该二进制程序正确依赖当前目录下的libpthread-2.31.so?


内容的提问来源于stack exchange,提问作者natitati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:16:15