[填坑]編譯caffe出現的問題及解決方法
編譯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
參考