Ubuntu 16.04 的Matlab突然报错CXXABI_1.3.8' not found

坦白说我不知道CXXABI_1.3.8是个啥,但是他影响了我用matlab调用caffe接口。所以只能硬着头皮看看是啥。
错误如下:

MATLAB:dispatcher:loadLibrary Can’t load ‘/usr/local/MATLAB/R2014a/bin/glnxa64/libmwmm_rmidd_mi.so’: /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.8’ not found (required by /home/lcy/anaconda2/lib/./libicui18n.so.58).

我有个大概率不准确的猜测,是修改完成后猜的。就是matlab的libstdc++.so.6链接到/libstdc++.so.6.0.17这个版本不够高,没有CXXABI_1.3.8,所以要找一个足够高的版本来。我是参考的https://blog.csdn.net/u012325865/article/details/80410163这位博主的方法,从anaconda2里面找到libstdc++.so.6.0.24这个版本,然后拷贝到matlab相应的目录下修改了这个错误。
具体操作如下:

1.首先查看matlab的/libstdc++.so.6的CXXABI版本

strings /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6 | grep 'CXXABI'

结果显示出来很多CXXABI版本确实没有CXXABI_1.3.8

2.然后查看anaconda2的版本

strings /anaconda2/lib/libstdc++.so.6 | grep 'CXXABI'

他确实有版本1.3.8

3.用 ll 查看一下anaconda2的libstdc++.so.6和谁链接,就是上面提到的libstdc++.so.6.0.24

4.把anaconda的libstdc++.so.6.0.24复制到matlab相应目录下

cp /anaconda2/lib/libstdc++.so.6.0.24  /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/

5.到matlab目录下删掉matlab原来的libstdc++.so.6

cd /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/
rm -rf libstdc++.so.6

6.重新建立连接

ln -s libstdc++.so.6.0.24 libstdc++.so.6

到这里应该就好了,如果还不行试试ldconfig。

ubuntu真的太难搞了……

猜你喜欢

转载自blog.csdn.net/elysion122/article/details/82468296
今日推荐