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

sai*_*men 12 linux matlab plot fedora

我在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);
Run Code Online (Sandbox Code Playgroud)

另外我已经看到 如何修复:[程序名称] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本CXXABI_1.3.8([程序名称]要求) 并且它没有帮助.

sai*_*men 14

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

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

文件中陈述以下内容以取消注释此行

要始终使用MATLAB附带的OpenGL库,请取消注释下一行.

虽然它肯定有这个技巧,但我很好奇是否使用MATLAB附带的OpenGL会降低性能,一般来说这种方法与@ joe_st_amand的答案相比如何.


Joe*_*and 9

那个版本的matlab和fedora我遇到了同样的问题.似乎matlab在启动时将自己的库路径预先添加到LD_LIBRARY_PATH.

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

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

希望有所帮助!