Centos7 升级 Glibc到2.28

要安装一个Trace软件,但是需要Glibc2.25以上,Centos7默认的是2.17,所以需要升级版本,在这记录一下。

# 下载并解压 glibc-2.28

$ wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz 
$ tar -xzvf glibc-2.28.tar.gz 
$ cd glibc-2.28 

# 创建临时文件

$ mkdir build && cd build 
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 

# 这一步时, 发生了错误, 提示大致为 These critical programs are missing or too old: make compiler

这个错误提示我们要升级GCC和MAKE版本。

首先安装RedHat的软件集合(SCLs)

yum install centos-release-scl -y

如果安装了GCC4.8就先卸载掉吧,防止冲突(会同步移除g++):

yum remove gcc -y

# 直接安装 GCC-8

$ yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils 

# 设置环境变量

$ echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile 
$ source /etc/profile

升级MAKE

$ wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz 
$ tar -xzvf make-4.3.tar.gz 
$ cd make-4.3/ 

# 安装到指定目录

$ ./configure --prefix=/usr/local/make 
$ make 
$ make install 

# 创建软链接

$ cd /usr/bin/ 
$ mv make make.bak # backup 
$ ln -sv /usr/local/make/bin/make /usr/bin/make

开始编译Glibc

# 进入之前的 `~/glibc-2.28/build`目录下

$ cd /root/glibc-2.28/build 
$ yum install bison -y
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 
$ make 
$ make install

# 验证是否安装成功

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

...
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE
...

如果出现以上字样则表示升级成功。

参照:

https://cloud.tencent.com/developer/article/2021784

CentOS7快速安装GCC8

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Centos7 升级 Glibc到2.28》
文章链接:https://wrlog.cn/2022/10/1281/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。