Ubantu caffe编译时遇到的问题

最近在Ubantu上安装编译caffe,遇到了很多教程博客中没有提到的问题,总结一下希望可以节省大家解决的时间:

 

报错1:

relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC:

 

原因:

compile时没有使用-fPic参数。


解决:

caffe目录下:

cmake -DBUILD_SHARED_LIBS=ON

 

参考链接:

https://github.com/BVLC/caffe/issues/2171


报错2:

error: #error "OpenCV 4.x+ requires enabled C++11 support":

 

原因:

OpenCV版本问题,使用OpenCV4是要添加C++11支持。


解决:

设定编译时的一些参数。caffe目录下:

cmake -DCMAKE_BUILD_TYPE=Release 
cmake -DBLAS="Open" 
cmake -Dpython_version=3 
cmake -DCUDA_HOST_COMPILER=/usr/bin/g++-5 
cmake -DCUDA_PROPAGATE_HOST_FLAGS=off 
cmake -DCMAKE_CXX_FLAGS="-std=c++11"

参考链接:

https://github.com/BVLC/caffe/issues/6358

 

 

报错3:

‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope

 

原因:

OpenCV版本问题,OpenCV4有些变量名变了。


解决:

找到报错前的文件,如:

/home/user/caffe/src/caffe/util/io.cpp:76:34: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope

就编辑/home/user/caffe/src/caffe/util/io.cpp这个文件,
将CV_LOAD_IMAGE_COLOR   改成    cv::IMREAD_COLOR
将CV_LOAD_IMAGE_GRAYSCALE   改成   cv::IMREAD_GRAYSCALE

 

参考链接:

https://blog.csdn.net/qq_28660035/article/details/80772071

 

报错4:

undefined reference to `TIFFIsTiled@LIBTIFF_4.0'


原因:

见参考链接


解决:

conda uninstall libtiff

卸载时会把hdf5一起卸掉,需要重新安装:

conda install hdf5

 

参考链接:

https://github.com/BVLC/caffe/issues/1559
https://github.com/BVLC/caffe/issues/4436
https://groups.google.com/forum/#!searchin/caffe-users/undefined$20reference$20to$20%60TIFFIsTiled@LIBTIFF_4.0$27%7Csort:date/caffe-users/e_SBHq4oqLo/TdV6KSQDDAAJ

你可能感兴趣的:(Ubantu caffe编译时遇到的问题)