这次遇到一个恶心的错误,还是在编译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
发现确实有了。问题即可解决。