2023/05/22 更新,Leslie 大佬提出了两个问题,一个是关于 make install 会有一个报错,另一个是更新后 系统中文 和 locale 会有问题,详情可以查看评论区置顶!

在手动升级 alist 从 3.2.0 版本到 3.6.0 版本的时候,发现环境中现有的 Glibc 版本已经无法满足alist的要求了,遂升级一波,记录一下。

./alist: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by ./alist)

正文

默认的GCC 版本无法无法编译 Glibc 2.28。 安装GLIBC所需的依赖,该版本需要 GCC 4.9 以上 及 make 4.0 以上。 GCC 11.2版本太新,无法与Glibc 2.28兼容。

一、安装gcc-8.2.0所依赖的环境

yum install bison -y
yum -y install wget bzip2 gcc gcc-c++ glibc-headers

img

二、升级GNU Make 3.82到4.2.1

wget http://ftp.gnu.org/gnu/make/make-4.2.1.tar.gz
tar -zxvf make-4.2.1.tar.gz
cd make-4.2.1
mkdir build
cd build
../configure --prefix=/usr/local/make && make && make install
export PATH=/usr/local/make/bin:$PATH
ln -s /usr/local/make/bin/make /usr/local/make/bin/gmake
make -v

img

三、升级GCC

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

img

四、下载 Glibc

wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz
xz -d glibc-2.28.tar.xz
tar -xvf glibc-2.28.tar
cd glibc-2.28
mkdir build

五、编译安装 Glibc

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

根据服务器 CPU 性能不同,编译时间不同

img

六、查询支持的 Glibc

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

img

记录一下自己升级的过程,希望大佬们斧正。