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

时间:2016-07-20 06:15:15

标签: 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);

我也见过 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]) 它没有帮助。

4 个答案:

答案 0 :(得分:14)

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

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

以下文件中说明了取消注释此行

  

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

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

答案 1 :(得分:9)

我对该版本的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'

希望有所帮助!

答案 2 :(得分:0)

替代修复:

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

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

我尝试过它,就像魅力一样。

答案 3 :(得分: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。效果很好。