您现在的位置是:首页 > 正文

遇到报错 ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found

2024-04-01 04:46:40阅读 5

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

报错内容

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /cluster/home3/zjc/Soft/anaconda3/lib/python3.9/site-packages/scipy/linalg/_matfuncs_sqrtm_triu.cpython-39-x86_64-linux-gnu.so)

报错说明
`GLIBCXX_3.4.26'文件是被 _matfuncs_sqrtm_triu.cpython-39-x86_64-linux-gnu.so 需要的,但是没找到这个文件。

1 查看文件

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

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

查看结果如下,指向版本为6.0.25

2 查看包含的动态库

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

strings libstdc++.so.6 | grep GLIBCXX

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

3 开始解决

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

find /cluster/home3/xxx -name libstdc++.so.6*

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

4 现在查看这个动态链接库/cluster/home3/zjc/Soft/anaconda3/envs/SAM/lib/libstdc++.so.6
(上面截图里面的倒数第六个)
里面有没有GLIBCXX_3.4.26

strings /cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib/libstdc++.so.6 | grep GLIBCXX_3.4.2

strings /cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib/libstdc++.so.6 | grep GLIBCXX_3.4.2

发现有GLIBCXX_3.4.26

6 如果有这个文件,加载库的路径

上述含有GLIBCXX_3.4.26信息的
libstdc++.so.6文件的
路径为/cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib
我们直接在终端中修改指定加载库的路径:(这句话不太理解直接在终端里面运行前先输入这个吗?)

下面是原博客链接
无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题_kikiLQQ的博客-CSDN博客

export LD_LIBRARY_PATH=/cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib

export LD_LIBRARY_PATH=/cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib
(或者有人说添加:$LD_LIBRARY_PATH后缀才行
export LD_LIBRARY_PATH=/cluster/home3/xxx/Soft/anaconda3/envs/SAM/lib:$LD_LIBRARY_PATH)

7 最终的解决办法,仅适用于我自己。

我直接激活了另外一个环境就可以了,hhh

网站文章

  • Android——UI篇:关于Fragment的构造参数打包release版本报错的问题

    最近在做项目的途中遇到了问题,本来想着在fragment中创建一个构造参数来传递数据,获取Activity中的数据,如下: public class FaultVideoFragment extends android.app.Fragment { private FaultEnclosureModel model2; private FaultDetailsActivity

    2024-04-01 04:46:33
  • vue3系列--reactive实现细节

    vue3系列--reactive实现细节

    vue3reactive实现细节

    2024-04-01 04:46:26
  • java 外观设计模式

    java 外观设计模式

    外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。使用时间: 客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接...

    2024-04-01 04:46:20
  • C++的public继承中的public、private和protected

    C++的public继承中的public、private和protected

        C++语言是对C语言的一种增强,而其主要贡献在于,为C语言增加了类和模板等功能,可以帮助实现面向对象编程和代码复用等更方便的功能。    C++语言的类,一般都包含两种成员,分别是成员变量和成员函数。成员变量可以用来表示该类的某些状态,而成员函数则可以用来对这些成员变量进行操作。而对于这些成员而言,最核心的概念当属类的封装和继承的概念。1. 封装    所谓封装,就是编写一个类...

    2024-04-01 04:45:38
  • 假脱机技术Spooling和守护进程

    假脱机技术Spooling和守护进程

    总结:在假脱机打印系统下,对于每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是让用户感觉系统正在为自己打印;当系统引入多道程序技...

    2024-04-01 04:45:30
  • linux centos 安装svn,在CentOS 6.3中安装与配置SVN的方法

    安装说明系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件检查已安装版本复制代码代码如下:#检查是否安装了低版本的SVN...

    2024-04-01 04:45:22
  • Puppeteer万物皆可爬

    Puppeteer万物皆可爬

    puppeteer 是一个Chrome官方出品的headless Chrome node库。它提供了一系列的API, 可以在无UI的情况下调用Chrome的功能, 适用于爬虫、自动化处理...

    2024-04-01 04:44:44
  • gin post 数据参数_golang--gin获取post里body的参数

    以下内容转载自https://blog.csdn.net/weixin_36344862/article/details/111932206如题,post发送数据有几种形式,form和流是最常用的。特...

    2024-04-01 04:44:32
  • 前端实现图片下载的方法

    在任何方案下,前端都无法绕过跨域的限制,所以需要图片所在的服务器对你当前域名开放权限,否则是无法下载的,最多能做到查看图片。1、直接使用a标签的download属性。2、canvas对象+a标签。3、ajax请求(blob或base64格式)+a标签。4、domtoimage+a标签。5、form表单。6、iframe。

    2024-04-01 04:43:51
  • mybatis运行原理详解

    mybatis运行原理详解

    第一部分:项目结构user_info表:没什么好说的就3个字段User实体类:@Datapublic class User { private Long id; private Strin...

    2024-04-01 04:43:44