在linux上的matlab不能绘制任何东西(无法加载libstdc ++。so.6:版本`CXXABI_1.3.8'找不到)

我在Fedora 24上运行matlab R2016a,我不能使用plot命令。

这是我得到的错误:

Error using gca

While setting the 'Parent' property of 'Axes':

Can't load '/usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so': /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /lib64/libGLU.so.1)

Error in newplot (line 73)

 ax = gca(fig); 

我也看到如何解决:[程序名称] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本CXXABI_1.3.8'找不到(需要[程序名称]) ,并没有帮助。

我做的是我编辑了一个名为.matlab7rc.sh文件(位于“path_to_ matlab / bin”文件夹中,隐藏),并取消注释所有行(有几个):

LDPATH_PREFIX='$MATLAB/sys/opengl/lib/$ARCH'

以下是在文件中注明这条线(S)

总是使用MATLAB附带的OpenGL库取消注释下一行。

虽然它确实有窍门,但我很好奇使用MATLAB提供的OpenGL是否会降低性能,总的来说,这种方法与@ joe_st_amand的答案相比如何。

我和那个版本的matlab和fedora有同样的问题。 似乎matlab预先启动到LD_LIBRARY_PATH自己的库路径。

您可以启动matlab,并告诉它使用正确版本的libstdc ++使用以下:LD_PRELOAD = / usr / lib64 / libstdc ++。so.6 matlab -desktop

我做的是添加一个别名到我的.bashrc文件:别名matlab ='LD_PRELOAD = / usr / lib64 / libstdc ++。so.6 matlab -desktop'

希望有所帮助!

备用修正:

重命名libstdc ++。so.6库文件,以使MATLAB找不到它,并被迫使用系统版本的库。 这个文件位于matlabroot / sys / os / glnxa64 /

来源: https : //in.mathworks.com/matlabcentral/answers/329796-issue-with-libstdc-so-6

我尝试了,它的魅力。