首页 > 系统相关 >无root权限,解决conda环境的报错ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30'

无root权限,解决conda环境的报错ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30'

时间:2024-04-23 12:04:52浏览次数:34  
标签:GLIBCXX libstd c++ 3.4 conda so.6 报错

网上的方法都需要sudo或者root权限,但是服务器多是实验室公用,没有ruuto权限,因此更好的办法是通过conda只改自己虚拟环境的环境变量。

问题原因

问题的根本原因是Linux系统没有GLIBCXX_3.4.30动态链接库。
这个库和gcc版本有关。
因此要么你更换版本,要么找一个别的so链接到这个连接上(听不懂直接下章实操)。

AI解释的,比我说的好:这个错误消息表明系统找不到名为 libstdc++.so.6 的共享库,其版本为 glibcxx_3.4.30。这可能是因为您的系统上缺少此共享库,或者因为您的应用程序需要的版本与您系统上安装的版本不匹配。您可以尝试更新您的系统上的 libstdc++.so.6 库或重新安装相应的依赖包。如果你使用conda管理环境,就需要在conda环境中更新这个库或者重新安装。

解决方法

下载/找到对应的库

  1. 下载最新的gcc(我未验证,因为我的conda环境内有这个so了)
 conda install -c conda-forge gcc
  1. 使用全局搜索找到这个库
# 注:2>/dev/null会排除permission denied输出
find / -name "libstdc++.so.6*" 2>/dev/null

# 示例输出
# XXXXXX
# /home/xxx/packages/anaconda3/envs/xxx/lib/libstdc++.so.6.0.32
# XXXXXX

备注:如果是GLIBCXX_3.4.30 not found,需要libstdc++.so.6.0.30以上的版本,这里我使用的6.0.32。

  1. 查看so有没有我们缺失的GLIBC_xxx
strings 路径/xxx.so.版本 | grep GLIBC
# 示例输入(就是把刚刚查找到的copy过来)
# strings /home/xxx/packages/anaconda3/envs/xxx/lib/libstdc++.so.6.0.32 | grep GLIBC
#
# 示例输出
#GLIBCXX_3.4
#GLIBCXX_3.4.1
#....
#GLIBCXX_3.4.30
#GLIBCXX_3.4.31
#GLIBCXX_3.4.32
#GLIBC_2.2.5
#GLIBC_2.3
#GLIBC_2.6
#......

可以看到有我们缺失的GLIBCXX_3.4.30,然后进行下一步

配置conda虚拟环境变量

conda中有一个工具叫做conda env,使用此可以只改动自己虚拟环境的环境变量,当切换其他环境后此环境变量会自动取消。

  1. 只要前文co库的路径/XXXXX/lib/加到环境变量里面就可以
conda env config vars set LD_LIBRARY_PATH="/XXXXX/lib/"
# 示例
# conda env config vars set LD_LIBRARY_PATH="/home/xxx/packages/anaconda3/envs/xxx/lib/"
  1. 输入完成后会提示:To make your changes take effect please reactivate your environment
    直接输入conda activate 环境名称即可。

附:

  • 查看当前添加了的路径conda env config vars list
  • 取消某个变量 conda env config vars unset 变量的名字

标签:GLIBCXX,libstd,c++,3.4,conda,so.6,报错
From: https://www.cnblogs.com/kingwz/p/18152542

相关文章

  • feign调用接口报错No qualifying bean of type '***HttpMessageConverters' available
    在整合springcloudgeateway时,调用了feign接口,报错Noqualifyingbeanoftype'org.springframework.boot.autoconfigure.http.HttpMessageConverters'available报错信息feign.codec.EncodeException:Noqualifyingbeanoftype'org.springframework.boot.autocon......
  • 记录一次Prism报错
    前提:我的WPF程序在进入主程序之前显示登录界面此时不想登录,点击退出的时候报错了报错提示Anexceptionoccurredwhileinitializingmodule'ShellModule'.-Theexceptionmessagewas:Anexceptionhasoccurredwhiletryingtoaddaviewtoregion'AsideRegion'......
  • react native 安装app时报错 ”已安装了签名冲突的应用“
    1.问题描述:reactnative开发完app,手动安装app,报错”已安装了签名冲突的应用“。或者执行命令安装npxreact-nativerun-android--mode=release,报错2.解决方法:直接卸载原来的app发现无效,于是执行:adbuninstall"xxxxx"xxxxx换成你的app名,在这里可以找到:......
  • 蓝牙打印开发代码示例(日拱一卒,有点进步,UUID仍报错)
     packagecom.lingrui.btprint;importandroid.Manifest;importandroid.app.AlertDialog;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.DialogInterface......
  • 使用pyppeteer 下载chromium 报错 python pyppeteer 调用谷歌翻译api
    https://registry.npmmirror.com/binary.html?path=chromium-browser-snapshots/Win_x64/手动下载安装包 修改文件C:\Users\luyan\AppData\Local\Programs\Python\Python312\Lib\site-packages\pyppeteer\chromium_downloader.py #修改这段代码defdownload_chromium()-......
  • mysql添加数据报错
    1452-Cannotaddorupdateachildrow:aforeignkeyconstraintfails('db_student_manager_web'.'s_student',CONSTRAINT'student_clazz_id_foreign'FOREIGNKEY('clazz_id)REFERENCES's_clazz'('id')......
  • k8s node节点报错 dial tcp 127.0.0.1:8080: connect: connection refused
    前言在搭建好kubernetes环境后,master节点拥有control-plane权限,可以正常使用kubectl。但其他node节点无法使用kubectl命令,即使同步过去/root/.kube/config文件到各个node节点上,也不行。解决检查KUBECONFIG变量:确保KUBECONFIG环境变量正确设置。KUBECONFIG......
  • calico配置报错 kubelet.go:2855] "Container runtime network not ready"
    前言配置calico网络插件时,kubectlgetnode报错:NoReadykubectldescribenodenodeName:nodeRoles:<none>Labels:beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkub......
  • centos系列报错
    centos系列报错一、网络问题1、报错:ping:www.baidu.com:Nameorservicenotknown(centos8)(1)查看网卡配置:[root@CentOS8Shaowenhuanetwork-scripts]#cat/etc/sysconfig/network-scripts/ifcfg-ens160TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static......
  • 报错:Qt 打开项目找不到Qt自己的头文件
    报错:Qt打开项目找不到Qt自己的头文件问题描述打开一个之前能跑的Qt项目,发现编译报错,很多Qt自己的宏、头文件、基本类都找不到了。问题解决首先排除一下是不是Qt版本问题导致的CMakeLists.txt或qmake的.pro文件问题。CMakeLists.txt的问题好判断,cmake会给出详细的报......