解决方案:升级glibc到2.28版本
wget https://mirror.bjtu.edu.cn/gnu/libc/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz -C /usr/local/
cd /usr/local/glibc-2.28/
mkdir build
cd build/
../configure --prefix=/usr/local/glibc-2.28
运行到…/configure --prefix=/usr/local/glibc-2.28时报错
报错1:
configure: error: in `/root/test/glibc-2.28/build’:
configure: error: no acceptable C compiler found in $PATH
yum install gcc -y
报错2:
These critical programs are missing or too old: make
Check the INSTALL file for required versions.
解决方案: make太过老旧,参照下文升级make
报错3:
These critical programs are missing or too old: compiler
Check the INSTALL file for required versions.
解决方案:gcc版本太旧,参照下文升级gcc
centos 升级GCC编译器
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
###yum安装完,原来的gcc不覆盖,需要执行enable脚本更新环境变量
source /opt/rh/devtoolset-8/enable
###想保持覆盖,可将其写入~/.bashrc或/etc/profile
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
###查看gcc版本
gcc -v
升级make
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xzvf make-4.2.tar.gz
cd make-4.2
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/bin/make
sudo cp ./make /usr/bin/
make -v
升级glibc-2.28
wget https://mirror.bjtu.edu.cn/gnu/libc/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz -C /usr/local
cd /usr/local/glibc-2.28/
mkdir build
cd build/
yum install -y bison
sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make //make 运行时间较长,可能会有半小时
###如make没有运行成功,解决error后需要先运行make clean,清除之前make的内容,才能再次执行make
make clean
make
make install
通过strings /lib64/libc.so.6 |grep GLIBC查询是否存在glibc-2.28版本
strings /lib64/libc.so.6 |grep GLIBC
ref:
centos /lib64/libc.so.6: version ‘GLIBC_2.28’ not found (required by