获取高版本 glibc
获取高版本 glibc 有两个方法,一个是源码编译,另一个是从高版本系统上复制一个下来,建议从高版本系统复制,因为编译获得的 glibc 还是可能会有二进制文件执行的问题。
以从其他系统获取为例,安装一个 Rocky 8.6 操作系统,然后获取它的 /usr/lib64
内容
cp -ar /usr/lib64 ~
tar zcvf ~/lib64.tar.gz ~/lib64
高版本 glibc 使用
将 lib64.tar.gz 压缩包传到低版本 glibc 系统上,解压
tar xvf lib64.tar.gz -C /opt
使用如下命令进行使用
[root@localhost ~]# cat check_glibc_version.c
#include <stdio.h>
#include <gnu/libc-version.h>
int main() {
printf("glibc version: %s\n", gnu_get_libc_version());
return 0;
}
gcc -o check_glibc_version check_glibc_version.c
/opt/lib64/ld-linux-x86-64.so.2 --library-path /opt/lib64/ /root/check_glibc_version
备注
上边的方法能保证使用了 glibc 环境,但是实测使用时还是会有问题,如 LD_LIBRARY_PATH
设置的内容不会被识别,解决办法就是将 LD_LIBRARY_PATH
的内容加到 --library-path
后,如下例:
echo $LD_LIBRARY_PATH
/opt/ld_library_path
/opt/lib64/ld-linux-x86-64.so.2 --library-path /opt/ld_library_path:/opt/lib64/ /root/check_glibc_version