找不到版本`GLIBCXX_3.4.21′

我正在使用Matlab for ubuntu R2014a,我无法运行代码,因为我收到以下错误

/usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:version 'GLIBCXX_3.4.21' not found

我跑的时候:

 $ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBCXX_3.4.20 GLIBCXX_3.4.21 GLIBC_2.3 GLIBC_2.2.5 GLIBC_2.14 GLIBC_2.4 GLIBC_2.18 GLIBC_2.3.4 GLIBC_2.17 GLIBC_2.3.2 GLIBCXX_DEBUG_MESSAGE_LENGTH 

在这里你可以看到我有GLIBCXX_3.4.21但是我也得到了错误!

实际上我弄清楚出了什么问题,因为我的系统是GCC 5.2.1,

文件/usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6是为GCC 4.4.X设计的,所以Matlab实际上选错了文件。 我刚刚建立了一个符号链接到我的系统的libstdc++.so.6在终端上使用它 –

ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6

看起来像/usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6缺少glibc版本而不是/usr/lib/x86_64-linux-gnu/libstdc++.so.6 。 现在Matlab首先在Matlab路径中尝试libstdc++.so.6并失败。

从mathworks的post中,以下应该可以使用系统libstdc++.so.6来启动matlab

 LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" matlab