原因1:已经安装过高版本但未软连接
解决方法:查找编译gcc时生成的最新动态库
find / -name "libstdc++.so*" 输出:
cd /usr/lib64
ll stdlibc++*
以看到当前libstdc++so.6指向13的版本,接下来把刚刚的高版本的复制到这里并重建软链即可
rm libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
现在再执行就ok了!
原因2:版本低
解决方法:
- 查看gcc版本中包含哪些库。
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
从网上下载高版本的libstdc++.so.6.0.13以上的版本,比如libstdc++.so.6.0.21。(或者从其它机器上拷贝一份)
cd /usr/lib64
ll stdlibc++*
cp ../libstdc++.so.6.0.21 .
rm libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
在查看发现已经升级
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
链接: https://pan.baidu.com/s/1O29r8nNZXKFKO5-P8CRp4A
提取码: jmdp
上传文件到 /usr/lib64
cd /usr/lib64/
ln -s /usr/lib64/libstdc++.so.6.0.26 libstdc++.so.6
cd /lib64/
ln -s /usr/lib64/libstdc++.so.6.0.26 /lib64/
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
发现有 GLIBCXX_3.4.21
重新拉一次jar 服务再测。。。应该可以了
原文链接: https://www.cnblogs.com/walkersss/p/15530249.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/214794
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!