CentOS7.9 升级 glibc2.28
一、匹配版本
| 序号 | 组件 | 版本 | 备注 |
|---|---|---|---|
| 1 | glibc | 2.28 | |
| 2 | gcc | 8.2.0 | glibc2.28与11版本不兼容 |
| 3 | make | 4.2.0 | glibc2.28与4.4版本不兼容 |
二、安装依赖
sudo yum install gmp-devel mpfr-devel libmpc-devel三、升级gcc
下载源码包
wget https://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz解压源码包
tar -zxvf gcc-8.2.0.tar.gz进入源码目录
cd gcc-8.2.0预编译
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr --with-mpfr=/usr --with-mpc=/usr编译安装
make -j `nproc` && make install验证
gcc --version四、升级make
下载源码包
wget https://ftp.gnu.org/gnu/make/make-4.2.tar.gz解压源码包
tar -zxvf make-4.2.tar.gz进入源码目录
cd make-4.2/预编译
./configure编译安装
make -j `nproc` && make install创建软连接
ln -snf /usr/local/bin/make /usr/bin/验证
make --version五、安装glibc
下载源码
wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz解压源码
tar -zxvf glibc-2.28.tar.gz进入源码目录
cd glibc-2.28修改测试脚本(2.28特有步骤)
vim scripts/test-installation.pl修改内容,在129行增加&& $name ne "nss_test2"一行
126 if ($name ne "nss_ldap" && $name ne "db1"
127 && $name ne "thread_db"
128 && $name ne "nss_test1"
129 && $name ne "nss_test2"
130 && $name ne "libgcc_s") {创建编译目录
mkdir build && cd build预编译
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --enable-obsolete-nsl编译安装
make安装
make install处理locale缺失
make localedata/install-locales验证
strings /lib64/libc.so.6 | grep GLIBC_2.28