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

2023-10-26

报错内容

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/lab118/anaconda3/envs/dynamic-master_2/lib/python3.9/site-packages/osgeo/../../../libgdal.so.32)

在ubuntu上运行多光谱图像语义分割项目时,需要安装gdal库,但是在pip与conda环境下都安装完成之后,都报错,其中上面这种错误是在conda环境中出错的。
大概意思就是/usr/lib/x86_64-linux-gnu/libstdc++.so.6这个东西没有这个版本version `GLIBCXX_3.4.29’ 。

解决步骤(已成功)

1、使用指令先看下目前都有哪些版本的

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

2、使用sudo find / -name "libstdc++.so.6*"来查看当前系统中其它的同类型文件,找到一个版本比较高的,
在这里插入图片描述随便选择的一个

3、找到一个版本高的

strings /home/lab118/anaconda3/envs/PaddleSeg-release-2.3/lib/libstdc++.so.6.0.29 | grep GLIBCXX

查看里面有GLIBCXX_3.4.29
在这里插入图片描述

4、复制

cp /home/lab118/anaconda3/envs/PaddleSeg-release-2.3/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/

5、删除

sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6

6、重新链接

sudo ln -s /home/lab118/anaconda3/envs/PaddleSeg-release-2.3/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

注意

如果因为操作不当,导致符号链接层数过多

too many levels of symbolic links

可以删除重新试一下

参考

解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found:https://blog.csdn.net/qq_30653631/article/details/107620137

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found 的相关文章

随机推荐