天天看点

libstdc .so. linux7,centos7运行matlab报libstdc++.so.6找不到错误的解决方法

运行环境:centos 7.1.1503

软件版本:matlab r2015a

​运行matlab时报错:

libGL error:

dlopen /usr/lib64/dri/swrast_dri.so failed

(/usr/local/MATLAB/R2015a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:

version `GLIBCXX_3.4.18'not found (required by

/lib64/libLLVM-3.5-mesa.so))

​libGL error:

unable to load driver: swrast_dri.solibGL error: failed to load

driver: swrast

执行命令:

ls

-l /usr/local/MATLAB/R2015a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6

得到:​

lrwxrwxrwx. 1

root root 19 Dec 10 19:03 libstdc++.so.6 ->

libstdc++.so.6.0.17

再执行命令:

cd

​/usr/local/MATLAB/R2015a/bin/glnxa64/../../sys/os/glnxa64/

strings​ libstdc++.so.6.0.17 | grep

GLIBCXX

得到:

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_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

没看到GLIBCXX_3.4.18 。说明matlab自带的库有问题。

执行find命令,查看系统中是否有这个库。

find / -name

'libstdc++.so.6'

得到结果:

find:

\u2018/run/user/1000/gvfs\u2019: Permission denied

/usr/lib/libstdc++.so.6

/usr/lib64/libstdc++.so.6

/usr/local/MATLAB/R2015a/sys/os/glnxa64/libstdc++.so.6

再执行命令:

​strings /usr/lib/libstdc++.so.6 | grep

GLIBCXX

得到结果:

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_DEBUG_MESSAGE_LENGTH

这说明系统的库已经有了需要的库。网上有资料说要建立一个软链接到这个文件,其实不用。只需要删除matlab库里的软链接就可以了,matlab启动的时候会自动到系统的库中查询。所以执行以下命令就可以了:

rm

libstdc++.so.6