Centos7安装Calibre提示 glibc库需要升级到2.23
目前系统自带的是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、解压、新建编译目录目录
tar xf glibc-2.23.tar.gz
cd glibc-2.23/
mkdir glibc-build
cd glibc-build (一定要在新建的目录中操作)
3、安装
../configure --prefix=/usr
make
make install
在make install 时可能会跳出错误(类似的应该是因为软链接的版本不对造成的)
gawk '/\.gnu\.glibc-stub\./ { \
sub(/\.gnu\.glibc-stub\./, "", $2); \
stubs[$2] = 1; } \
END { for (s in stubs) print "#define __stub_" s }' > /root/glibc-2.23/glibc-build/math/stubsT
gawk: error while loading shared libraries: /lib64/libm.so.6: invalid ELF header
make[2]: *** [/root/glibc-2.23/glibc-build/math/stubs] Error 127
make[2]: Leaving directory `/root/glibc-2.23/math'
make[1]: *** [math/subdir_install] Error 2
make[1]: Leaving directory `/root/glibc-2.23'
make: *** [install] Error 2
解决办法(在另外的窗口执行):
cd /lib64
unlink libm.so.6
ln -s libm-2.23.so libm.so.6
然后再次进入对应的glibc-build文件夹执行
cd glibc-2.23
cd glibc-build
最后再次执行
make install
看到如下信息就是安装成功了
LD_SO=ld-linux-x86-64.so.2 CC="gcc" /usr/bin/perl scripts/test-installation.pl /root/glibc-2.23/glibc-build/
Your new glibc installation seems to be ok.
make[1]: Leaving directory `/root/glibc-2.23'
4、验证
ldd --version
ldd (GNU libc) 2.23
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
升级成功!