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

问题描述 投票:12回答:4

我在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);

我也见过How to fix: [program name] /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found (required by [program name])并没有帮助。

linux matlab plot fedora
4个回答
14
投票

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

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

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

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

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


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'

希望有所帮助!


0
投票

替代修复:

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

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

我试过,它的功效就像魅力一样。


0
投票

以下工作在fedora 28科学

> cd ~/usr/lib64
> ls libstd*

对我来说输出是

libstdc++.so.6  libstdc++.so.6.0.25

所以我只是在~/.bashrc中添加了一个别名,其目录是libstdc++.so.6.0.25

> emacs ~/.bashrc

在结尾写下面的行:

alias matlab='LD_PRELOAD=/usr/lib64/libstdc++.so.6.025  /your/dir/to/bin/glnxa64/MATLAB -desktop'

其中/your/dir/to/是MATLAB安装的目录。然后

> source ~/.bashrc

然后我就在终端运行> matlab,一切都还可以。

编辑。将其添加到桌面条目

您必须使用以下内容制作/编辑matlab.desktop文件,并将其放在.applications文件夹中才能工作。

[Desktop Entry]
Name=Matlab R2017a
Exec=LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.25 /usr/local/MATLAB/R2017a/bin/matlab -desktop &
Icon=~/username/.icons/Matlab_Logo.png
Terminal=false
Type=Application
Categories=Development;Science;Education

从桌面条目打开时,它将加载适当的libstdc ++。效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.