我有这个问题:
有一个二进制文件TheBinary
有一个包含库的目录./lib
我像这样运行程序LD_LIBRARY_PATH=./lib ./TheBianry
的问题libc.so.6,如果不在 中./lib,则错误为:
./TheBianry: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by ./lib/libgnutls.so.30)
./TheBianry: /lib64/libc.so.6: version `GLIBC_2.22' not found (required by ./lib/libgnutls.so.30)
如果它libc.so.6位于./lib,则输出为:
./TheBianry: relocation error: ./lib/libc.so.6: symbol _dl_exception_create, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
我读到您需要用新文件替换旧文件。我无法更新系统,因为它是服务器。我已经试过root了,没用。希望对您有所帮助,很可能,您只需要禁止使用/lib64/libc.so.6并离开即可./lib/libc.so.6。告诉我如何做到这一点,我将不胜感激。
在不更新发行版的情况下升级 glibc 版本不太可能成功。可以通过 chroot 进行降级,但您还需要 root 权限。
如果源可用,请在具有所需版本的虚拟机上自行构建。
尝试为您的 glibc 找到 TheBianry。写信给作者在manylinux中构建它。您可以要求一个目标文件并手动链接它。