参考文章:如何解决version `GLIBCXX_3.4.29‘ not found的问题

1. 问题

在 wsl ubuntu20.04 运行 yolov8 时,出现以下错误

ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /root/anaconda3/lib/python3.9/site-packages/pandas/_libs/window/aggregations.cpython-39-x86_64-linux-gnu.so)

根据提示是 /usr/lib/x86_64-linux-gnu 路径下的 libstdc++.so.6 缺少GLIBCXX_3.4.29
首先输入以下指令查看,当前有哪些版本

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述
可以看到,确实缺少了 GLIBCXX_3.4.29

2. 解决方法

查看系统下同类型文件,存在的高版本文件

find / -name "libstdc++.so.6*"

在这里插入图片描述
出现的版本比较多,任意选择其中一个版本,使用命令查看是否存在需要的版本

strings /root/anaconda3/lib/libstdc++.so.6.0.29 | grep GLIBCXX

在这里插入图片描述
可以看到存在我们所需要的文件版本
接下来将文件拷贝过去,并建立连接

# 拷贝文件
cp /root/anaconda3/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/

# 删除原链接
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

到这一步就已经完成了,可以查看是否已经存在

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述
大功告成!😏

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐