versão 'GLIBCXX_3.4.21' não encontrado

4

Estou usando o Matlab para o Ubuntu R2014a e não consigo executar um código porque recebo o seguinte erro

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

quando eu corro:

$ 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

Aqui você pode ver que eu tenho GLIBCXX_3.4.21 , mas também recebo o erro!

    
por user3481652 09.01.2016 / 13:23

2 respostas

8

Na verdade, eu descobri o que estava errado, já que meu sistema era o GCC 5.2.1,

o arquivo /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6 foi criado para o GCC 4.4.X, então Matlab estava escolhendo o arquivo errado. Acabei de fazer um link simbólico para o libstdc++.so.6 do meu sistema usando isso no terminal -

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

    
por user3481652 10.01.2016 / 14:25
1

Parece que /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6 não possui a versão glibc e não /usr/lib/x86_64-linux-gnu/libstdc++.so.6 . Agora, o Matlab primeiro tenta o libstdc++.so.6 no caminho do Matlab e falha.

De uma postagem da mathworks , o seguinte deve funcionar para iniciar o matlab com o sistema libstdc++.so.6

LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" matlab
    
por Thomas 09.01.2016 / 17:58

Tags