/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found
这里我直接找到的是我安装的gcc-11.2.0目录下的一个libstdc++.so.6.0.29的文件,如果找不到或者不确定哪个能够满足,可以新安装一个高版本的gcc。从上面图片来看这是有GLIBCXX_3.4.29,但这是我已经替换后的情况了,在这之前是没有GLIBCXX_3.4.29这一项的。然后删除原来不符合要求的/usr/lib/x86_64-linux-gnu/libstdc++.so.
项目场景:
提示:这里简述项目相关背景:
/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found
问题描述
这个问题主要出现在gcc版本上,我们可以采用以下操作来解决这个问题
我们可以根据上面libstdc++.so.6出现的位置来确定其能够满足的GLIBCXX的版本
用以下代码来查看
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
从上面图片来看这是有GLIBCXX_3.4.29,但这是我已经替换后的情况了,在这之前是没有GLIBCXX_3.4.29这一项的。
解决方案:
接下来我具体描述一下这个问题的解决方法
首先查看系统下的同名文件
find / -name "libstdc++.so.6*"
这里我直接找到的是我安装的gcc-11.2.0目录下的一个libstdc++.so.6.0.29的文件,如果找不到或者不确定哪个能够满足,可以新安装一个高版本的gcc。
接下来确定其是否存在需要的版本
strings /opt/gcc-11.2.0/lib64/libstdc++.so.6.0.29 |grep GLIBCXX
从输出结果来看是能够满足的
我们首先将这个版本的libstdc++.so.6.0.29复制到/usr/lib/x86_64-linux-gnu目录下
cp /opt/gcc-11.2.0/lib64/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
然后删除原来不符合要求的/usr/lib/x86_64-linux-gnu/libstdc++.so.6
rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
之后建立新的连接
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)