【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

参考文章:如何解决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

【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found_第1张图片
可以看到,确实缺少了 GLIBCXX_3.4.29

2. 解决方法

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

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

【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found_第2张图片
出现的版本比较多,任意选择其中一个版本,使用命令查看是否存在需要的版本

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

【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found_第3张图片
可以看到存在我们所需要的文件版本
接下来将文件拷贝过去,并建立连接

# 拷贝文件
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

【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found_第4张图片
大功告成!

你可能感兴趣的:(Error,linux,gnu)