CentOS 7.6 下 “GLIBCXX_3.4.20” "GLIBCXX_3.4.21" not found

时间:2024-03-28 14:11:51

CentOS 7.6 下运行程序,出现如题错误,通过ldd 查看该so 文件依赖库,也报同样错误:

CentOS 7.6 下 “GLIBCXX_3.4.20” "GLIBCXX_3.4.21" not found

 

通过 strings /lib64/libstdc++.so.6 | grep GLIBC 查看,发现当前系统最高GLIBCXX 为3.4.19, 需要升级。

CentOS 7.6 下 “GLIBCXX_3.4.20” "GLIBCXX_3.4.21" not found

 

下载升级 gcc 源码并编译安装:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/

tar -xvf gcc-5.4.0.tar.bz2
cd gcc-5.4.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make

make install (需要root 权限)

重新建立link


cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6

再次查看

strings /lib64/libstdc++.so.6 | grep GLIBC

CentOS 7.6 下 “GLIBCXX_3.4.20” "GLIBCXX_3.4.21" not found

至此,我们需要的GLIBCXX_3.4.20 和 GLIBCXX_3.4.21 都有了

CentOS 7.6 下 “GLIBCXX_3.4.20” "GLIBCXX_3.4.21" not found