相信有不少人在Ubuntu系统下会遇到这个问题, 原因是较新的Ubuntu系统(15.04或者更高)使用的libstdc++.so.6比Matlab默认采用的库版本高, 当Matlab加载这个库的时候,操作系统检测到不兼容的调用于是产生崩溃并给予退出提示框,差不多是这个样子的输出:matlab has encountered an internal problem and needs to close.

c54943a9ba899a7b5bf6eb486cb7d868.png

tack Trace (from fault):

[  0] 0x00007f20d3a4f90a   /lib64/ld-linux-x86-64.so.2+00051466

[  1] 0x00007f20d3a58501   /lib64/ld-linux-x86-64.so.2+00087297

[  2] 0x00007f20d3a534b4   /lib64/ld-linux-x86-64.so.2+00066740

[  3] 0x00007f20d3a579f3   /lib64/ld-linux-x86-64.so.2+00084467

[  4] 0x00007f20d1195fc9   /lib/x86_64-linux-gnu/libdl.so.2+00004041

[  5] 0x00007f20d3a534b4   /lib64/ld-linux-x86-64.so.2+00066740

[  6] 0x00007f20d119662d   /lib/x86_64-linux-gnu/libdl.so.2+00005677

[  7] 0x00007f20d1196061   /lib/x86_64-linux-gnu/libdl.so.2+00004193 dlopen+00000049

[  8] 0x00007f20cd7df0b6 /media/chevy/DATA/Linux/MATLAB/R2016a/bin/glnxa64/libut.so+00315574

[  9] 0x00007f20cd7dfc76 /media/chevy/DATA/Linux/MATLAB/R2016a/bin/glnxa64/libut.so+00318582 _Z11utGetModuleRKSbIDsSt11char_traitsIDsESaIDsEEPi+00000022

[ 10] 0x00007f20cd7dfd6b /media/chevy/DATA/Linux/MATLAB/R2016a/bin/glnxa64/libut.so+00318827 utGetModule+00000171

.....

后面省略

解决方法:强制Matlab使用操作系统提供的库即可, 进入Matlab的安装目录,继续导航到该目录下的sys/os/glnxa64目录, 然后重命名该目录下的文件libstdc++.so.6为libstdc++.so.6.old, 问题解决. 此问题会出现在15.04或更高版本的Ubuntu系统上, 比如我就是从14.10升级到15.04后就出现这个问题.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐