美文网首页
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