CentOS 7.6 下运行程序,出现如题错误,通过ldd 查看该so 文件依赖库,也报同样错误:
通过 strings /lib64/libstdc++.so.6 | grep GLIBC 查看,发现当前系统最高GLIBCXX 为3.4.19, 需要升级。
下载升级 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
makemake 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
至此,我们需要的GLIBCXX_3.4.20 和 GLIBCXX_3.4.21 都有了