解决"libc.so.6: version `GLIBC_2.14' not found"问题

时间:2022-08-04 15:31:22

试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",
原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
问题Centos6最高支持glibc-2.12
查看系统glibc支持的版本:
strings /lib64/libc.so.6 |grep GLIBC_
rpm -qa |grep glibc
下载glibc编译安装,升级
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz
tar -xvf glibc-2.14.tar.gz
tar -xvf glibc-ports-2.14.tar.gz
mv glibc-ports-2.14 glibc-2.14/ports
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.14
make -j4
make install
问题:"/root/glibc-2.14/build/elf/ldconfig: Can't open configuration file /usr/local/glibc-2.14/etc/ld.so.conf: No such file or directory"
解决:cp /etc/ld.so.c* /usr/local/glibc-2.14/etc/
rm -rf /lib64/libc.so.6
操作删除软链接后系统无法操作任何命令,我们需要复制下面的命令执行后才可以
LD_PRELOAD=/usr/local/glibc-2.14/lib/libc-2.14.so ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
重新检查版本,验证已升级