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

本文详细记录了解决MATLAB调用caffe接口时遇到的CXXABI版本冲突问题。通过对比MATLAB和Anaconda中libstdc++.so.6的CXXABI版本,发现MATLAB版本过低,缺少CXXABI_1.3.8。最终通过替换MATLAB的libstdc++.so.6为Anaconda中更高版本的libstdc++.so.6.0.24解决了问题。
部署运行你感兴趣的模型镜像

坦白说我不知道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.youkuaiyun.com/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真的太难搞了……

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值