Centos7安装Calibre提示 glibc库需要升级到2.23

赛高部落

glibc库
目前系统自带的是Glibc2.17版本

由于有项目要使用到Glibc的更高级的版本

索性直接就升级到2.23版本

如非有必要,尽量不要升级!!!

建议:操作前先在虚拟机中操作一次,直接在真机上操作出问题就麻烦了!!!切记

 

查看系统glibc库版本可使用如下命令:

strings /lib64/libc.so.6 |grep GLIBC_

 

升级步骤

1、 首先下载对应版本的安装包
wget https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
2、解压、新建编译目录目录
  1. tar xf glibc-2.23.tar.gz
  2. cd glibc-2.23/
  3. mkdir glibc-build
  4. cd glibc-build (一定要在新建的目录中操作)
3、安装
  1. ../configure --prefix=/usr
  2. make
  3. make install

在make install 时可能会跳出错误(类似的应该是因为软链接的版本不对造成的)

  1. gawk '/\.gnu\.glibc-stub\./ { \
  2. sub(/\.gnu\.glibc-stub\./, "", $2); \
  3. stubs[$2] = 1; } \
  4. END { for (s in stubs) print "#define __stub_" s }' > /root/glibc-2.23/glibc-build/math/stubsT
  5. gawk: error while loading shared libraries: /lib64/libm.so.6: invalid ELF header
  6. make[2]: *** [/root/glibc-2.23/glibc-build/math/stubs] Error 127
  7. make[2]: Leaving directory `/root/glibc-2.23/math'
  8. make[1]: *** [math/subdir_install] Error 2
  9. make[1]: Leaving directory `/root/glibc-2.23'
  10. make: *** [install] Error 2

解决办法(在另外的窗口执行):

  1. cd /lib64
  2. unlink libm.so.6
  3. ln -s libm-2.23.so libm.so.6

然后再次进入对应的glibc-build文件夹执行

cd glibc-2.23
cd glibc-build

最后再次执行
make install


看到如下信息就是安装成功了

  1. LD_SO=ld-linux-x86-64.so.2 CC="gcc" /usr/bin/perl scripts/test-installation.pl /root/glibc-2.23/glibc-build/
  2. Your new glibc installation seems to be ok.
  3. make[1]: Leaving directory `/root/glibc-2.23'
4、验证
  1. ldd --version
  2. ldd (GNU libc) 2.23
  3. Copyright (C) 2016 Free Software Foundation, Inc.
  4. This is free software; see the source for copying conditions. There is NO
  5. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  6. Written by Roland McGrath and Ulrich Drepper.

升级成功!

发表评论