一、匹配版本

序号组件版本备注
1glibc2.28
2gcc8.2.0glibc2.28与11版本不兼容
3make4.2.0glibc2.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

标签: none

添加新评论