Uma solução mais leve é instalar apenas o libstdc ++ a partir do repositório não padrão :
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install libstdc++6-4.7-dev
Estou criando um programa em uma VM e, em seguida, implantando em outra máquina. Isso vem funcionando há algum tempo.
Hoje comecei a receber essa mensagem de erro quando tento executar meu programa:
/ usr / lib / i386-linux-gnu / libstdc ++. so.6: versão 'GLIBCXX_3.4.19' não encontrada
As duas máquinas estão executando a mesma versão do kernel, e todos os pacotes estão atualizados:
$ uname -a
Linux darwin7 3.8.0-23-generic #34-Ubuntu SMP Wed May 29 20:24:54 UTC 2013 i686 i686 i686 GNU/Linux
Como posso investigar e reparar esse problema?
Uma solução mais leve é instalar apenas o libstdc ++ a partir do repositório não padrão :
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install libstdc++6-4.7-dev
No final, percebi que tinha versões diferentes do gcc (g ++) instaladas nas duas máquinas. Eu estava construindo com 4.8 e rodando onde apenas 4.7 estavam disponíveis. Instalar o 4.8 na máquina alvo (como descrito aqui ) resolveu o problema.
Pode haver uma solução mais leve que não envolva a instalação do compilador completo, mas apenas a biblioteca necessária.
Tags shared-library