我有一个使用特定版本的 libc (
.so
) 编译的 Linux 共享库 (GLIBC_2.4
),我需要在具有不同版本的 libc 的系统上使用它。我没有相关库的源代码,因此我无法为新系统重新编译。是否有可能将该库中的依赖项更改为不同的 libc?
如果您在具有旧版 glibc 的系统上需要 .so,则需要源代码并使用旧版 glibc 重新编译/重新链接它。另一种方法是在旧系统上的非默认位置安装所需的 glibc,并为需要此 .so 的可执行文件调整 LD_LIBRARY_PATH
如果有更新的 glibc,通常应该不是问题,因为 glibc 往往是向后兼容的。
.so
文件中的版本引用进行十六进制编辑即可。无论如何,它们都是文字。