CentOS7.9升级gcc

前言

因为需要使用NodeJS 22版本,不得已必须升级gcc

升级GCC有风险!!可能会导致系统完全崩溃!!请务必做好备份和升级失败预案
升级GCC有风险!!可能会导致系统完全崩溃!!请务必做好备份和升级失败预案
升级GCC有风险!!可能会导致系统完全崩溃!!请务必做好备份和升级失败预案

准备

查看现有的版本,并选择合适的要升级到的版本

# 建议按以下顺序升级
# make
make --version

# gcc
gcc --version

# glibc 
ldd --version

MAKE

# 升级 make
# 下载 make 最新版本的源代码
wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz
# 解压源代码
tar -zxvf make-4.3.tar.gz
# 进入解压后的目录
cd make-4.3
# 配置编译选项
../configure --prefix=/usr/local
# 编译
make
# 安装
sudo make install

# 升级 gcc
# 下载 gcc 最新版本的源代码
wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
# 解压源代码
tar -zxvf gcc-9.3.0.tar.gz
# 进入解压后的目录
cd gcc-9.3.0
# 下载编译所需的依赖项
./contrib/download_prerequisites
# 创建编译目录
mkdir build
# 进入编译目录
cd build
# 配置编译选项
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
# 编译
make -j$(nproc)
# 安装
sudo make install

# 升级 glibc 这一个是最危险的最容易导致系统出问题的
# 下载 glibc 最新版本的源代码
wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.29.tar.gz
# 解压源代码
tar -zxvf glibc-2.29.tar.gz
# 进入解压后的目录
cd glibc-2.29
# 创建编译目录
mkdir build
# 进入编译目录
cd build
# 配置编译选项 看情况选择配置内容
../configure --prefix=/usr
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# 编译
make -j$(nproc)
# 安装
sudo make install



echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

中文乱码

locale -a
vim /etc/locale.gen
cd /home/glibc-2.29/
cd build
make localedata/install-locales
locale

仍然缺少某些libstdc++?

strings /usr/lib64/libstdc++.so.6 | grep GLIBC
find / -name "libstdc++.so*"
cp /usr/local/lib64/libstdc++.so.6.0.24 /usr/lib64/
cp /usr/local/lib64/libstdc++.so.6.0.28 /usr/lib64/

posted @ 2025-11-06 15:51  迷路的哨兵甲  阅读(25)  评论(0)    收藏  举报