一、hdf5 问题
修改Makefile.config文件(INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/)之后编译caffe,还是出现fatal error hdf5.h no such file or directory的问题,直接用命令安装即可。
sudo apt-get install libhdf5-serial-dev
二、cannot find -lboost_python3
首先去/usr/lib/x86_64-linux-gnu
目录下查看是否有python3版本的libboost,没有libboost_python3.so,
所以需要手动建立连接。
sudo ln -s libboost_python-py35.so libboost_python3.so
三、cannot import name '_validate_lengths'
这是skimage的问题,重新安装skimage即可。
sudo pip install scikit-image
二、protobuf版本问题
原本是protobuf-2.6.1,之后安装了protoc 3.0.0之后出现.build_release/src/caffe/proto/caffe.pb.h:22:35: fatal error: google/protobuf/arena.h类似的错误,可能是两个版本的protoc发生了冲突。
为了解决冲突,将protobuf还原为之前的2.6.1版本:
sudo apt-get remove libprotobuf-dev
sudo apt-get remove protobuf-compiler
sudo apt-get remove python-protobuf
sudo rm -rf /usr/local/bin/protoc
sudo rm -rf /usr/bin/protoc
sudo rm -rf /usr/local/include/google
sudo rm -rf /usr/local/include/protobuf*
sudo rm -rf /usr/local/lib/libproto*
sudo rm -rf /usr/lib/libproto*
sudo rm -rf /usr/include/google
sudo rm -rf /usr/include/protobuf*
然后,再重新安装protobuf:
sudo apt-get update
sudo ldconfig
sudo apt-get install libprotobuf* protobuf-compiler python-protobuf
三、cudnn的问题
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value
把caffe里面的所有与cudnn相关的.hpp 替换成第一次配置caffe时候 所用的cudnn的版本
四、.build_release/tools/caffe: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory
Makefile:542: recipe for target 'runtest' failed
make: *** [runtest] Error 127
执行如下命令:
sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig