返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题
  • 482
分享到

无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题

linux运维服务器Poweredby金山文档 2023-09-01 13:09:39 482人浏览 八月长安
摘要

一、问题描述 在利用实验室中的服务器中运行代码时,因libstdc++.so.6版本问题产生报错信息如下: ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versio

一、问题描述

在利用实验室中的服务器中运行代码时,因libstdc++.so.6版本问题产生报错信息如下:

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/{用户名}/anaconda3/envs/torch/lib/python3.8/site-packages/matplotlib/_path.cpython-38-x86_64-linux-gnu.so)

①使用下述命令查看/usr/lib/x86_64-linux-gnu/libstdc++.so.6对应的软连接信息,发现其指向版本为6.0.25。

cd /usr/lib/x86_64-linux-gnu/ls -l libstdc++.so*

②使用下述命令查看libstdc++.so.6链接包含的动态库,发现确实未包含GLIBCXX_3.4.29:

strings libstdc++.so.6 | grep GLIBCXX

查阅网上相关解决资料,发现解决方法大多需要将/usr/lib/x86_64-linux-gnu/libstdc++.so.6下对应的软连接进行修改替换。但由于使用实验室的服务器时不具有root权限,无法进行替换,因此考虑指定加载库的路径。

二、问题解决

①检查服务器中是否有包含GLIBCXX_3.4.29的libstdc++.so.6版本(最好是自己用户名下)

find /home/{自己用户名} -name libstdc++.so.6*

注:这里find后面的路径一般是根据自己服务器中,用户文件所在路径进行修改,我的所有文件都在/home/{自己用户名}这个目录下

发现两个版本,因为我这里使用torch环境,所以查看第二个动态链接库/home/{用户名}/anaconda3/envs/torch/lib/libstdc++.so.6中是否包含GLIBCXX_3.4.29,输入命令:

strings /home/{用户名}/anaconda3/envs/torch/lib/libstdc++.so.6 | grep GLIBCXX

②指定加载库的路径

根据我们上面找到的路径:/home/{用户名}/anaconda3/envs/torch/lib/libstdc++.so.6。我们直接在终端中修改指定加载库的路径:

export LD_LIBRARY_PATH=/home/{用户名}/anaconda3/envs/torch/lib

再次运行,发现问题解决,可以成功运行!

来源地址:https://blog.csdn.net/kikiLQQ/article/details/129238099

--结束END--

本文标题: 无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题

本文链接: https://lsjlt.com/news/388495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作