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

这篇具有很好参考价值的文章主要介绍了无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

在利用实验室中的服务器中运行代码时,因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)
importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

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

cd /usr/lib/x86_64-linux-gnu/
ls -l libstdc++.so*
importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

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

strings libstdc++.so.6 | grep GLIBCXX
importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

查阅网上相关解决资料,发现解决方法大多需要将/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/{自己用户名}这个目录下

importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

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

strings /home/{用户名}/anaconda3/envs/torch/lib/libstdc++.so.6 | grep GLIBCXX
importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

②指定加载库的路径

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

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

(评论区朋友的补充~)这一步运行如果不行的话,可以在该条命令后加上:$LD_LIBRARY_PATH,即:

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

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


2023年12月11日补充 

到上面这一步其实就可以结束啦,下面是为了解决一个“一劳永逸的问题”,当然,大家如果觉得这一步较麻烦(虽然我觉得不麻烦^-^),又不想每一次重启终端都输一下上面这条命令,也可以直接把export命令写入到自己的脚本里面,那每一次运行也是不需要自己单独再输入这条命令啦~

三、补充:重新启动终端无需重新输入命令

在发布这篇文章后,评论区有好多朋友都问“做法是不是一次性的”。我的回答是,运行完第二部分的内容,确实在重启终端后,确实要重新建立链接,即每一次打开终端都需要重新运行上述export命令
看到大家问有没有“一劳永逸”的方法,所以我也一直有在留意着~恰好近期实验室服务器更新需要重新配置,配置过程中我终于发现了一种方法可以解决“一次性”的问题,因此在这里进行更新,希望能够分享给大家。(也许会有更好的方法,也超级欢迎大家的补充~)

这一部分的内容主要为了能在重启终端后无需重新运行export命令

①编辑~/.bashrc文件

我的方法就是直接将其加入系统路径。首先在终端中输入下面的命令

vim ~/.bashrc

importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

②加入系统路径

进入文件后把第二部分最后一条export命令写入这一位置。

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

importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

 ③更新配置文件

输入下述命令更新配置文件:

source ~/.bashrc

importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器

此时,当我们每次重新启动终端,就不需要每次都输入命令,也不会再报前面的错误了~

importerror: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `glibcxx_3.4.,debug,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-779906.html

到了这里,关于无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【未解决】No rule to make target ‘/usr/lib/x86_64-linux-gnu/libGL.so‘

    测试ros自带的PCL1.8是否能用,网上找个测试代码,编译阶段报错: cmake .. -- Could NOT find ensenso (missing: ENSENSO_LIBRARY ENSENSO_INCLUDE_DIR)  ** WARNING ** io features related to ensenso will be disabled -- Could NOT find DAVIDSDK (missing: DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR)  ** WARNING ** io features related to davidSDK wi

    2024年02月12日
    浏览(43)
  • 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/

    在安装pangolin依赖库的时候,系统提示如下的错误: 问题1: 问题2: 这是由于 动态链接库链接中断 造成的,所以我们重要的找到造成中断的原因。 你好!经过查阅网上出现的相似问题,总结我知道的三种原因: 终端中输入以下命令: 该文件夹下没有错误提示的这个文件

    2024年02月12日
    浏览(57)
  • 【问题解决】make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libopencv_XXX错误

    记录一下使用ubuntu中的各种问题 make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2.0”,由“/home/victor/cooperate/ur5_husky/devel/lib/libmoveit_lazy_free_space_updater.so.1.1.13” 需求。 停止。 make[1]: *** [CMakeFiles/Makefile2:26268:moveit/moveit_ros/perception/lazy_free_space_updater/CMak

    2024年01月25日
    浏览(49)
  • 解决/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题

    网上有分析说调用的高版本的gcc,生成的动态库没有替换老版本gcc的动态库导致。因此需要把高版本的so文件复制到低版本的so文件目录下。如下分析: https://www.jianshu.com/p/6424807b7e20 但我报的错有点跟他们不太一样,我实在python的虚拟环境中执行的。我查看了虚拟环境中的s

    2024年02月17日
    浏览(60)
  • Ubuntu18.04升级GLIBC_2.29,解决ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29‘

    个人在搭配transformers环境(Ubuntu18.04),使用时出现如下报错: ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29’ not found (required by /home/xxxx/anaconda3/envs/xxxx/lib/python3.6/site-packages/tokenizers/tokenizers.cpython-36m-x86_64-linux-gnu.so) 分析上述报错,新版transformers的tokenizers需要2.29版本的

    2024年02月12日
    浏览(52)
  • ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

    网上大多数解决办法是找到含有GLIBCXX_3.4.29的文件并把这一项复制过去,但有时因为电脑libstdc++6版本过低,甚至不包含这一项。这里选择直接更新相应的库,但不曾考虑和过去文件的兼容性问题 本人设备:ubuntu22.04 答案来源:https://stackoverflow.com/questions/65349875/where-can-i-find-

    2024年04月26日
    浏览(39)
  • 【Error】ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

    参考文章:如何解决version `GLIBCXX_3.4.29‘ not found的问题 在 wsl ubuntu20.04 运行 yolov8 时,出现以下错误 根据提示是 /usr/lib/x86_64-linux-gnu 路径下的 libstdc++.so.6 缺少 GLIBCXX_3.4.29 首先输入以下指令查看,当前有哪些版本 可以看到,确实缺少了 GLIBCXX_3.4.29 查看系统下同类型文件,存在

    2024年02月16日
    浏览(47)
  • git clone 报错:/usr/lib/git-core/git-remote-https: symbol lookup error: /lib/x86_64-linux-gnu/libp11-k

    错误详情 /usr/lib/git-core/git-remote-https: symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0 解决办法 关联issue

    2024年02月09日
    浏览(40)
  • Linux系统下cpython-37m-x86_64-linux-gnu.so文件ImportError

    ) 在查找答案的过程中遇到了几种回答,大多评论都表示有用 库的版本不兼容 多数遇到的是这种,但因为库比较难发现哪个不匹配等等原因,继续寻找其它回答…(当然,如果出现numpy或是pillow库的问题,还是及时解决比较好) 我运行的是UA-CMDet,如果有类似的可以作为简单

    2024年02月19日
    浏览(44)
  • (解决方案) node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found (node required by node)

    您可能会遇到安装在 ubuntu 操作系统上的 NodeJS 问题, 当您运行  node -v 或 pm2 list  命令时出现错误:-   node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28\\\' not found (required by node) 。 我尝试了各种解决方案 堆栈溢出 ,最后一个解决方案对我有用,只需通过以下命令运行即可。

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包