编译caffe的过程真的是炼金术,佛系的我在看到100%时还是忍不住流下了小小的眼泪,在此,我想献上我的绵薄之力,愿广大胖友们可以在编译路上少受点折磨,加油,我们不能死在搭环境上,我们要看到跑程序的希望
问题一:relocation R_X86_64_32S against `.rodata’ can not be used when making a shared object; recompile with -fPIC
参考 https://github.com/BVLC/caffe/issues/2171
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
问题二 : cudnn_conv_layer.cu: error: argument of type cudnnAddMode_t is incompatible with parameter of type const void
这个是由于cuDNN 版本问题导致在 make 时在 cudnn_conv_layer 报错
解决方案:更改cudnn版本
具体做请参考:http://blog.csdn.net/l297969586/article/details/67632608
问题三:libcudnn.so.5 is not a symbolic link
该问题主要是链接出现问题,解决方法就是重新链接,参考上个问题的参考博客
问题四:.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)’
这和opencv_imgcodecs链接有关
解决方案:修改Makefile文件,在文件中添加
LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
问题五:virtual memory exhausted: Cannot allocate memory
解决方案
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
其他问题传送门
这段折腾 caffe 的日子……(Ubuntu14.04 + Nvidia Driver + CUDA7.5 + cuDNN v2.0/ v4.0/ v5.1 + caffe)
http://blog.csdn.net/u010167269/article/details/50703948caffe安装吐血总结
http://blog.csdn.net/caozhantao/article/details/5147917
http://blog.csdn.net/qq_32768743/article/details/74517046
参考