问题描述:
在使用Matlab调用caffe进行深度神经网络训练和测试时,遇到了如下提示信息:
Invalid MEX-file ‘**/caffe.mexa64’
/usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version GLIBCXX_3.4.20
not found (required by /usr/lib/x86_64-linux-gnu/libgflags.so.2)
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
可以看见是存在GLIBCXX_3.4.20的。
Google上的解决方案:
1.找到libstdc++.so.6的位置,并添加到LD_LIBRARY_PATH中,重启matlab。
$ locate libstdc++.so.6 | grep /usr/lib/
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
重启Matlab,结果问题没有得到解决。
2.在Matlab目录下,建立关于libstdc++.so.6的超链接文件。
# ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/MATLAB/R2014a/bin/glnxa64/libstdc++.so.6
结果Matlab运行成功。