本文最后更新于 540 天前,其中的信息可能已经有所发展或是发生改变。
最近在安装aList
网盘系统,发现Glibc
版本太低了,需要Glibc-2.28
,下面是我的解决方案仅供参考。
# 下载并解压 glibc-2.28
wget https://cdn-cos-cloud.hecady.com/uploads/Linux/2022012008/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz
cd glibc-2.28
# 创建临时文件
mkdir build && cd build
# 构建
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
这里的错误信息是指 make 版本过低,需要升级
These critical programs are missing or too old: make compiler
升级make
wget https://cdn-cos-cloud.hecady.com/uploads/Linux/2023001001/make-4.3.tar.gz
tar -zxvf 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
重新构建后如果没有出现下面错误错误,那就可以进行编译安装了。
configure: error:
*** These critical programs are missing or too old: compiler
*** Check the INSTALL file for required versions.
这个错误大概是GCC版本版本过低,我们需要升级下GCC.
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
# 切换GCC环境
scl enable devtoolset-7 bash
# 查看gcc安装目录
which gcc
# 查看gcc版本
gcc --version
再重新构建,编译安装.
# 进入目录
cd glibc-2.28/build
# 构建
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# 编译安装
make
make install
慢慢等待编译安装完成。过程有点久。建议使用screen放到后台编译,编译a安装完成后使用下面的命令查看版本。
strings /lib64/libc.so.6 | grep GLIBC
看到有 glibc-2.28
就升级完成了。