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

时间:2022-10-30 16:43:44

试图运行程序,提示"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_