[填坑]编译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/50703948

caffe安装吐血总结
http://blog.csdn.net/caozhantao/article/details/5147917
http://blog.csdn.net/qq_32768743/article/details/74517046

参考

http://vb2005xu.iteye.com/blog/2171295

http://blog.csdn.net/yhl_leo/article/details/51371936

猜你喜欢

转载自blog.csdn.net/nanbei2463776506/article/details/79323590
今日推荐