centos7下程序运行提示报错version `GLIBCXX_3.4.20' not found

目前这个问题只出现centos7上,因为centos7带的glic库版本较低导致

程序升级以后,POD启动时报错。

微信截图_20240311195110.png

容器运行时是我们自己的,看到直接执行该文件直接报错

/usr/bin/orion-container-runtime: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20` not found(required by /lib64/libcndev.so)
/usr/bin/orion-container-runtime: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21` not found(required by /lib64/libcndev.so)

然后找到以下解决办法

首先查看当前glib版本

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

微信图片_20240311174545.png

根据上述报错,确实没有报错提示的两个glib版本,我们进行安装

yum provides libstdc++.so.6
cd /usr/local/lib64
wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
cp libstdc++.so.6.0.26 /usr/lib64
cd  /usr/lib64
ls -l | grep libstdc++
#移走/usr/lib64原来的软连接libstdc++.so.6
mv libstdc++.so.6 libstdc++.so.6_bak
#链接一个新的版本过去
ln -s libstdc++.so.6.0.26 libstdc++.so.6
#再次查看版本列表
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

企业微信截图_20240312102552.png

发现已经支持GLIBCXX_3.4.20和GLIBCXX_3.4.21版本了。

再次重启我的POD都正常了,直接运行我们runtime文件返回正常。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/974.html