linux上的matlab can';无法绘制任何内容(无法加载libstdc+;+;.so.6:version`CXXABI_1.3.8';未找到)
我正在Fedora 24上运行matlab R2016a,无法使用plot命令 这是我得到的错误:linux上的matlab can';无法绘制任何内容(无法加载libstdc+;+;.so.6:version`CXXABI_1.3.8';未找到),linux,matlab,plot,fedora,Linux,Matlab,Plot,Fedora,我正在Fedora 24上运行matlab R2016a,无法使用plot命令 这是我得到的错误: 使用gca时出错 设置“轴”的“父”属性时: 无法加载 “/usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so”: /usr/local/MATLAB/R2016a/bin/glnxa64/./../sys/os/glnxa64/libstdc++.so.6: 未找到版本“CXXABI_1.3.8”(为/lib64/libGLU.so.1所需
使用gca时出错
设置“轴”的“父”属性时:
无法加载
“/usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so”:
/usr/local/MATLAB/R2016a/bin/glnxa64/./../sys/os/glnxa64/libstdc++.so.6:
未找到版本“CXXABI_1.3.8”(为/lib64/libGLU.so.1所需)
新建绘图(第73行)中出现错误
我也看到了
这也没用。我对那个版本的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'
希望有帮助 我所做的是编辑了一个名为.matlab7rc.sh的文件(位于“path_to_umatlab/bin”文件夹及其隐藏位置),并取消了所有行的注释(其中有几行):
LDPATH\u前缀='$MATLAB/sys/opengl/lib/$ARCH'
文件中说明了以下内容,用于取消对此行的注释
要始终使用MATLAB附带的OpenGL库,请在下一步取消注释
线路
虽然它确实起到了作用,但我很好奇,使用MATLAB附带的OpenGL是否会降低性能,以及与@joe_st_amand的答案相比,这种方法的总体效果如何。备选修复方案:
重命名libstdc++.so.6库文件,使MATLAB无法找到它,并强制使用系统版本的库。该文件位于matlabroot/sys/os/glnxa64中/
资料来源:
我试过了,效果很好。以下是在fedora 28 scientific中使用的
> 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。效果很好 这也解决了一个问题,即当您试图退出时,MATLAB不会关闭,而是永远停止并说“忙”。从这里开始()但在我的例子中也与Ubuntu 16.10相关。
[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