试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",
原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
问题Centos 自动更新glibc-2.14
2.查看系统glibc支持的版本:
strings /lib64/libc.so.6 |grep GLIBC_
rpm -qa |grep glibc
-------------------------------
可以看到最高只支持2.12版本,所以考虑编译解决这个问题
到http://www.gnu.org/software/libc/的目录http://ftp.gnu.org/gnu/glibc/下载最新版本,我这里下载了glibc-2.14.tar.xz 这个版本
注意:解压的目录和安装的目录放在一起,这样会冲突
tar -zxvf glibc-2.14.tar.gz
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/
3、创建软链接
1、删除原来软链
rm -rf /lib64/libc.so.6
2、解决补救问题
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
因为操作删除软链接后系统无法操作任何命令,我们需要复制上命令操作后才可以。
3、创建新软链接
ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
第四、查看当前新的glibc版本库
strings /lib64/libc.so.6 |grep GLIBC_