当前位置:   article > 正文

无需sudo快速解决 libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found 的报错问题_centos libstdc++.so.6: version `glibcxx_3.4.29' no

centos libstdc++.so.6: version `glibcxx_3.4.29' not found

报错截图:

请添加图片描述

分析:

根据 Trackback 最后的提示和 ImportError 的信息(如上图红框所示),发现是 google.protobuf.pyext 这个包引起的报错。

原因:

anaconda 中 protobuf 包所依赖的 g++ 编译器中 libstdc++.so 文件的版本没被满足。

解决:

很多博客的方法是安装新版本的 g++,或者在系统中查找包含所缺少的 GLIBCXX 的高版本 libstdc++.so 文件并将 so 的链接指向该文件。但这些方法操作复杂,需要sudo权限,且操作不当容易改崩系统。
快速有效的方法: libstdc++.so 文件不动,而是降低报错包 protobuf 的版本。(大家根据自己的报错信息确认要改动版本的包)
我的环境中 protobuf 的版本原来是3.20.3,改为3.20.0后问题解决。

pip uninstall protobuf 
pip install protobuf==3.20.0
  • 1
  • 2

优势:

简单,不用sudo权限,风险小!

拓展:

GCC,gcc,g++的区别: https://zhuanlan.zhihu.com/p/100050970

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/190318
推荐阅读
相关标签
  

闽ICP备14008679号