欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 18.04装matcaffe问题总结(下)

程序员文章站 2022-07-14 12:14:07
...

在caffe已经安装好的情况下,matcaffe的安装其实就两步:make matcaffe和make mattest。万万没想到的是,就这么两步竟然都会出现问题。在第一天装的时候就通过cmake成功的安装了caffe、pycaffe,并安装了matlab,结果在执行make matcaffe上面耗了一天,又在make mattest上面耗了一天。得出的结论是cmake真是一个伟大的工具,还有如果想发疯就试试装caffe,如果想疯的不醒人事就装完caffe再装matcaffe。

************** 2019.4.19 安装总结 ****************

不多说直接上错:

“Invalid MEX-file 'caffe/matlab/+caffe/private/caffe_.mexa64':

/usr/local/MATLAB/R2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:”

根据官网上说的解决方法是:

export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:/usr/local/cuda/lib64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

原因是caffe的库跟matlab的库冲突了,于是我照做了,接着make mattest,又报错了:“Segmentation violation detected”。度娘告诉了好几个答案,有说不用管直接跑matcaffe的程序,有说是因为matlab版本太高可以换个低版本的或者用github上提供别人修改过得caffe重新编译。于是直接跑matcaffe的程序试试看,matlab崩溃了。讲道理我是不相信是因为版本问题的,因为看到网上有人也是用matlab2016装成功了,但是抱着试试看的想法还是卸载重装了matlab2015a,同样export命令配一下环境变量,还是报错了,不过报的错不一样:

“libgdal.so.20: symbol TIFFReadRGBATileExt version LIBTIFF_4.0 not defined in file libtiff.so.5 with link time reference”

度娘搜一下发现没有相关问题的解决方法,换谷哥搜,找了个排在前面的链接,找到的原因是libtiff.so.5这个库加载错了,matlab自带的libtiff.so.5里没有LIBTIFF_4.0,而系统库里有,按照他说的搜了一下两个地方的libtiff.so.5,用strings查找了一下还真是这样子。解决方法同libstdc++.so.6一样,export LD_PRELOAD那一行后面加上正确的libtiff.so.5。make mattest成功!

然而还没完,试着跑一下自己的matcaffe程序又回到了Invalid MEX-file这个错,难道是export命令失效了?重新source ~/.bashrc还是不管用,记得搜到还有一种ln -s软连接的方法,于是备份了一下libstdc++.so.6和libtiff.so.5,软连接matlab里的两个文件到正确的路径。再跑一遍程序,成功出结果!

以上是安装matcaffe的完整经历,记录一下以免下次忘记了。

参考链接:

https://github.com/BVLC/caffe/issues?utf8=%E2%9C%93&q=

http://caffe.berkeleyvision.org/installation.html#compilation

http://caffe.berkeleyvision.org/tutorial/interfaces.html

https://blog.csdn.net/xue_wenyuan/article/details/52037121

https://blog.csdn.net/QianQiYing/article/details/81585136

https://blog.csdn.net/yizhang_ml/article/details/86750405

https://blog.csdn.net/clearlove_black/article/details/88376303

https://blog.csdn.net/fdd096030079/article/details/84256438

http://www.caffecn.cn/?/question/41

http://www.pianshen.com/article/95839680/

https://blog.csdn.net/swiftfake/article/details/79910420