‘GLIBCXX_3.4.21‘ not found,gcc升级

本文详细描述了解决MySQL在项目过程中遇到的GLIBCXX_3.4.21未找到错误的方法,通过在无互联网环境下升级GCC7.3.0,安装依赖库GMP、MPFR和MPC,并调整编译路径,确保正确链接新版本库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

升级原因:项目过程中,mysql报错 'GLIBCXX_3.4.21' not found

以下操作,经个人验证,已在两次生产环境中升级成功

一、解压gcc包

cd /usr/local/src
wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
tar zxvf gcc-7.3.0.tar.gz

环境无互联网环境
1、下载gcc-7.3.0.tar.gz
http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/
2、下载所需组件
(1)gmp-6.1.0.tar.bz2
http://ftp.gnu.org/gnu/gmp/
(2)mpfr-3.1.4.tar.bz2
http://ftp.gnu.org/gnu/mpfr/
(3)mpc-1.0.3.tar.gz
http://ftp.gnu.org/gnu/mpc/

二、安装依赖

#按顺序
tar -jxvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
mkdir temp
cd temp
../configure --prefix=/usr/local/gmp-6.1.0
make && make install

tar -jxvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
mkdir temp
cd temp
../configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make && make install

tar -zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
mkdir temp
cd temp
../configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4
make && make install

三、把库路径添加到/etc/ld.so.conf

vi /etc/ld.so.conf

#添加以下代码
/usr/local/gmp-6.1.0/lib
/usr/local/mpfr-3.1.4/lib
/usr/local/mpc-1.0.3/lib

四、建立编译输出目录,并进行配置

mkdir /usr/local/gcc-7.3.0/build
cd /usr/local/gcc-7.3.0/build
../../src/gcc-7.3.0/configure --prefix=/usr/local/gcc-7.3.0 --enable-threads=posix --disable-checking --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3

五、编译及安装

make
make install

六、gcc、g++、gcj设置

cd /usr/bin
ln -s /usr/local/gcc-7.3.0/bin/gcc gcc
ln -s /usr/local/gcc-7.3.0/bin/g++ g++
ln -s /usr/local/gcc-7.3.0/bin/gcj gcj

七、需要将之间/usr/lib64下的libstdc++.so.6软连接删掉,添加新的连接

find / -name "libstdc++.so*"
cd /usr/lib64/
cp /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 /usr/lib64/
rm libstdc++.so.6
ln -s /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 libstdc++.so.6

原文链接,详情请看:【linux】’GLIBCXX_3.4.21′ not found,gcc升级 – 易班 (ebancom.com) 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值