ImportError: /home/kzl/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (requ

这次遇到一个恶心的错误,还是在编译pycaffe的时候报的错。

错误如下:

Traceback (most recent call last):
  File "/home/kzl/anaconda2/lib/python2.7/unittest/loader.py", line 254, in _find_tests
    module = self._get_module_from_name(name)
  File "/home/kzl/anaconda2/lib/python2.7/unittest/loader.py", line 232, in _get_module_from_name
    __import__(name)
  File "/home/kzl/caffe/python/caffe/test/test_coord_map.py", line 6, in <module>
    import caffe
  File "caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
  File "caffe/pycaffe.py", line 13, in <module>
    from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: /home/kzl/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by caffe/_caffe.so)

解决方案:根据错误信息可以粗略知道,没有找到GLBCXX 3.4.21。

我们用一行命令查找一下当前已经有的版本:

$ strings /home/kzl/anaconda2/bin/../lib/libstdc++.so.6 | grep GLIBCXX  

注意kzl是我的计算机名,而且我的版本是anaconda2。注意对照自己的修改。

显示结果:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

果然没有GLRBCXX3.4.21。

没有就装一个呗,反正有anaconda2。

输入

$ conda install libgcc

再次查看:

GLIBCXX_DEBUG_MESSAGE_LENGTH
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21

发现确实有了。问题即可解决。


回答: ImportError: /lib64/libgfortran.so.1错误是由于系统找不到/lib64/libgfortran.so.1文件引起的。根据提供的引用内容,可以看出在安装sklearn包后,尝试导入sklearn时报错,提示找不到libgfortran.so.4文件。为了解决这个问题,可以尝试运行以下命令:ln -s /home/hadoop/anaconda3/pkgs/libgfortran-ng-7.2.0-hdf63c60_3/lib/libgfortran.so.4.0.0 /lib64/libgfortran.so.1。这个命令会创建一个软链接,将libgfortran.so.4.0.0链接到/lib64/libgfortran.so.1文件上,从而解决找不到文件的问题。\[1\]请注意,运行这个命令需要管理员权限。如果还是无法解决问题,可以尝试重启系统或者执行source ~/.bashrc命令,然后再次尝试导入sklearn包。\[2\]如果问题仍然存在,可以使用find命令查找libgfortran.so.4和libgfortran.so.4.0.0文件的位置,确保这两个文件存在于正确的路径下。\[3\] #### 引用[.reference_title] - *1* *2* *3* [ImportError: libgfortran.so.4: cannot open shared object file: No such file or directory](https://blog.csdn.net/u011208984/article/details/98660438)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt&quot;}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值