找不到版本`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