编译caffe时遇到的错误

长期更新。。。

普通的好找的就没有记录了。

1、

问题:

/usr/bin/ld: warning: libopencv_core.so.3.1, needed by //usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4
/usr/bin/ld: /tmp/ccJnrotv.o: undefined reference to symbol '_ZN2cv6String10deallocateEv'
//usr/local/lib/libopencv_core.so.3.1: error adding symbols: DSO missing from command line

oppencv冲突的原因导致,因为caffe自带opencv是2.4版本,所以删除自带的opencv2.4

解决:

sudo apt-get autoremove libopencv-dev

2、

问题:

File "/usr/bin/pip", line 9, in 
    from pip import main

ImportError: cannot import name main

解决:

修改 /usr/bin/pip 文件

from pip import main
if __name__ == '__main__':
    sys.exit(main())

改为:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

3、

问题:

make pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录,其实numpy已经是安装的,anaconda2里面有,python中import numpy也没有问题,但就是在此处报错

解决:

首先查找numpy路径

python
import numpy as np
np.get_include()

比如得到路径如: /usr/local/lib/python2.7/dist-packages/numpy/core/include

则在 Makefile.config 找到 PYTHON_INCLUDE

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

修改为:

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/local/lib/python2.7/dist-packages/numpy/core/include

注:假如觉得路径有点奇怪,比如在 /home/xxx/.local/lib/python2.7/site-packages/numpy/core/include 下,可以选择先卸载再重新安装。

4

问题:

在import caffe 时,报错:ImportError: no module named caffe

解决:

导入 caffe 路径

gedit ~/.bashrc
在最后面添加路径:
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
然后使其生效:
source ~/.bashrc

假如问题仍然存在,可以试着直接在终端里输入路径(这个路径是临时的,关掉终端即失效):

export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

然后再导入 caffe:

python
import caffe

如果这个成功的话,很有可能之前设置的路径仍然没有生效(至于为什么没生效不懂),此时重启一下电脑即可。

5、

问题:

AttributeError: 'module' object has no attribute 'text_format'

解决:

这个问题是因为protobuf的版本问题,在./lib/fast_rcnn/train.py增加 import google.protobuf.text_format 即可。

6、

问题:

from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: libcaffe.so.1.0.0-rc3: cannot open shared object file: No such file or directory

解决:

caffe安装好后lib没有配置到/usr/lib或/usr/local/lib中,需手动配置:

gedit ~/.bashrc
在最后面添加路径:
export LD_LIBRARY_PATH=your_path/caffe/.build_release/lib:$LD_LIBRARY_PATH
然后使其生效:
source ~/.bashrc

你可能感兴趣的:(编译caffe时遇到的错误)