centos7升级gcc %make & glibc


公司新到的服务器,需要安装常用的数据库,在mysql,postgresql等安装的时候都非常的顺利,但是在安装SqlServer的时候发现缺少依赖的glibc2.18和glibc2.27,于是便有了这次的踩坑之旅。

刚开始是看缺什么就装什么,先下载了glibc2.18和glibc2.27,2.18版本的安装很顺利,但是在2.27安装的时候就开始报错了(最后发现是缺少一个libc-2.27.so的文件,但是一部分文件已经变成了2.27版本,一部分还是2.18的,导致版本不一致,环境就出问题了),然后各种百度尝试解决,还有修改lib64里面的软链接,*.so文件等,最后系统坏了只能含泪重装了一次。

然后重装后依然采用第一次升级的方式,发现还是这个坎没有过去,系统又坏了,于是含泪第二次重装了系统,也学到了一些知识:glibc生成的*.so文件和一些软链接什么的都是系统运行依赖的,一旦出了问题,系统运行就会受影响,升级的时候一定要慎重以及安全操作,最好做备份。

第二次重装之后没有着急去升级glibc,而是先升级了gcc(系统默认的是4.8.5,升级到了9.3.0),升级了make(系统默认是3.X来着,升级到了4.3),最后才升级了glibc(直接升级到了2.31,会包含之前的老版本),最后终于成功了,具体操作请看下面。

1.源码编译升级gcc9.3.0

1)编译升级gcc

  1.  

    wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz

  2.  

    cp gcc-9.3.0.tar.gz /opt

  3.  

    cd /opt

  4.  

    tar -zxf gcc-9.3.0.tar.gz

  5.  

    cd gcc-9.3.0/

  6.  
     
  7.  

    ./contrib/download_prerequisites

  8.  

    #建议先手动下载依赖的这四个包,下载地址ftp://gcc.gnu.org/pub/gcc/infrastructure/

  9.  

    cat /proc/cpuinfo| grep “processor”| wc -l

  10.  
     
  11.  

    mkdir build

  12.  

    cd build

  13.  

    ../configure –enable-checking=release –enable-language=c,c++ –disable-multilib –prefix=/usr

  14.  
     
  15.  

    make -j6

  16.  

    make install

2)升级成功后gcc版本检查

  1.  

    cd /usr/lib64

  2.  

    ll libstdc++*

  3.  

    gcc -v

  4.  

    gcc –version

2.源码编译升级make

1)编译升级make

  1.  

    wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz

  2.  

    cp make-4.3.tar.gz /opt

  3.  

    cd /opt/

  4.  

    tar -zxf make-4.3.tar.gz

  5.  

    cd make-4.3/

  6.  

    mkdir build

  7.  

    cd build

  8.  

    ../configure –prefix=/usr && make && make install

2)检查升级后的make版本信息

make -v

3、升级glibc-2.31

  1.  

    cd /opt

  2.  

    wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz

  3.  

    tar -zxf glibc-2.31.tar.gz

  4.  

    cd glibc-2.31/

  5.  

    cat INSTALL | grep -E “newer|later”

  6.  

    mkdir build

  7.  

    cd build

  8.  

    ../configure –prefix=/usr –disable-profile –enable-add-ons –with-headers=/usr/include –with-binutils=/usr/bin –disable-sanity-checks –disable-werror

  9.  

    yum install python3 #一定要有这一步,python2安装会报错的

  10.  

    make -j6

  11.  

    make install

  12.  

    make localedata/install-locales

 最后升级完成后的页面,会有一个error,可以忽略,如下:

centos7升级gcc %make & glibc

 最后验证升级后的glibc版本

  1.  

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

  2.  

    ll /lib64/libc.so*

centos7升级gcc %make & glibc

centos7升级gcc %make & glibc

 至此,gcc和glibc升级完成!

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/268352.html

(0)
上一篇 2022年6月19日 19:06
下一篇 2022年6月19日 19:11

相关推荐

发表回复

登录后才能评论