美文网首页
glibc升级至2.17

glibc升级至2.17

作者: 戈羽殇雪 | 来源:发表于2019-10-31 11:18 被阅读0次

今日遇到一需求,需要升级centos6.6服务器的glibc默认版本为2.12,centos7系统的默认glibc版本已经升级2.17,询问了同事系统升级的可能,因涉及的组件以及环境比较复杂,因此不考虑升级系统,只能考虑升级glibc版本。
之后经过查询,若要升级glibc,需先升级gcc,尝试升级至gcc4.8.2时,出现问题texinfo相关错误:

../gcc-4.8.2/gcc/doc/gcc.texi:209: no matching `@end tex'
../gcc-4.8.2/gcc/doc/gcc.texi:209: no matching `@end multitable'
../gcc-4.8.2/gcc/doc/gcc.texi:209: no matching `@end titlepage'

经过查询发现,此错误存在于gcc4.8及以前的版本中,升级至4.9版本后无问题
因此选择升级至gcc-4.9.4
升级过程如下:
1.下载源码:

wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2
tar -jxvf gcc-4.9.4.tar.bz2 

注:在server端下载时,发现速度较慢,但在PC端使用浏览器下载的时候速度很快,可能是认证方式不同走的不同线路,若出现同样情况可以现在PC端下载后再上传到服务器端
2.编译安装:

cd  gcc-4.9.4
mkdir build-gcc-4.9.4
./contrib/download_prerequisites  ##下载编译所必需的插件和文件
####下载完成后进行编译安装####
cd build-gcc-4.9.4/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib ###配置编译参数
make -j4  ##需要等待一段时间,这里如果server性能足够,可以-j9
echo $?  #为0则继续,出现错误, 则需要排错重新make
make install
####安装完成后,check####
[root@localhost src]# gcc --version
gcc (GCC) 4.9.4
Copyright © 2015 Free Software Foundation, Inc.

上面gcc 安装完成后,在进行glibc的升级
1.下载源码安装并编译:

wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar zxvf glibc-2.17.tar.gz 
cd glibc-2.17
mkdir build
cd build/
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4
make install

2.安装完成后,进行验证:

[root@localhost src]# ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.

注:
这是glibc升级成功了,若执行编译任务的时候报某些.so文件缺失,建议自己找下,手动做软链,源码编译其实把相应的文件都生成了的,
例如

ln -sf /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6

相关文章

网友评论

      本文标题:glibc升级至2.17

      本文链接:https://www.haomeiwen.com/subject/isizvctx.html