Quando eu tento executar o programa Layout Editor (disponível neste site ) no Ubuntu 14.04.1 LTS de 64 bits, recebo a seguinte saída no terminal:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
Eu tentei o comando strings
da /usr/lib/x86_64-linux-gnu/libstdc++.so.6
seguinte forma e aqui está a entrada e a saída:
$ strings /usr/lib/x86_64-linux-gnu/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
Como posso resolver esse problema? De alguma forma, acho que está relacionado, GCC
mas não consigo descobrir como corrigi-lo. Além disso, tentei um PPA conforme sugerido em Como uso o GCC mais recente no Ubuntu? e existe uma pergunta semelhante para uma versão mais antiga do Ubuntu no GLIBCXX_3.4.15 não encontrada . No entanto, após a execução sudo update
, recebo vários avisos e a lista que obtive com o comando strings não tinha novas entradas após a instalação gcc 4.9
; portanto, limpei o PPA ( Toolchains Test Builds ) com ppa-purge
. Qualquer ajuda, sugestões sobre como proceder são muito apreciadas.
fonte
Respostas:
Eu estava tendo o mesmo problema ao tentar executar outro programa e encontrei uma solução no StackOverflow .
Basicamente, basta executar os seguintes comandos: Primeiro, instale:
Isso já deve estar instalado por padrão, mas tente assim mesmo. Se isso não resolver, faça o seguinte:
Não executei o comando "dist-upgrade", mas os anteriores o resolveram para mim
fonte
dist-upgrade
comoupgrade
proposta e atualizado meu sistema com a mais recentelibstdc++
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
apt-repository
updated/usr/lib/x86_64-linux-gnu/libstdc++.so.6
até e incluindo GLIBCXX_3.4.24 - e, além disso, isso atualiza basicamente todos os c / c ++ / fortran ferramentas de desenvolvimento em sua máquinaIsso aconteceu comigo com o anaconda 4.0.0 (como o @mjp afirmou), mas a correção para mim foi executar este comando no meu ambiente:
fonte
Eu tive esse problema - era porque
Anaconda2
não tinha a versão GLIBCXX_3.4.20 do que quer que seja. Apenas até 0,19, o mesmo que o seu.No entanto, a biblioteca do Ubuntu tinha . Então, eu apenas criei um link / atalho de software na biblioteca Anaconda para a biblioteca Linux real que contém o GLIBCXX_3.4.20, substituindo o anterior, e funcionou bem depois de reiniciar a GUI do python (Spyder).
Deve haver uma pasta chamada
libstdc++.so.6
na biblioteca Anaconda, que é aqui:~/anaconda2/lib
. Dentro desta pasta, estão as versões do script / library-code-thing, excluindo a que está faltando: GLIBCXX_3.4.20Siga estas etapas para resolver o problema:
vá para o local certo e faça backup do seu
anaconda2
atalho atual (altere seu nome para que não seja sobrescrito):crie um novo atalho usando o
ln
comando (estou assumindo que estou no local anterior ~ / anaconda2 / lib):reinicie o spyder / outra interface que você usa
Agora deve funcionar!
fonte
Resolvi um problema como este (mas GLIBCXX_3.4.21) no CentOS, mas ele não depende do sistema operacional. A biblioteca faz parte do compilador gcc, portanto, é necessário instalar ou compilar a versão apropriada do gcc. Esta é a tabela de versões do gcc e versões do libstdc ++ apropriado:
(a lista completa de versões está aqui )
Não depende de como instalar o gcc - ele pode ser instalado a partir do pacote ou compilado e instalado a partir de fontes.
É possível que as bibliotecas do sistema gcc estejam disponíveis em vez de instaladas recentemente. Portanto, é necessário especificar a variável de ambiente onde encontrar bibliotecas, por exemplo, na linha de comando como esta:
fonte
/usr/lib64/libstdc++.so.6
para apontar para a versão mais recente que eu tinha na/usr/local/lib64/libstdc++.so.6
com este comando:ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
. A versão antiga permanece sem link apontando para ela, se você precisar reverter. Um pouco de hack, mas funciona.Eu tive isso várias vezes ao longo dos anos com muitos pacotes diferentes. Sempre foi resolvido por:
Se o seu dist for atualizável, quase sempre derrubará uma nova biblioteca C ++ e reconfigurará coisas como se elas funcionassem novamente. O problema quase sempre é causado pelo seu sistema não apontar para a biblioteca certa. No meu caso, geralmente causado por apontar para uma versão de compilador cruzado de uma biblioteca.
fonte
before_install:
# Esta solução alternativa é necessária para evitar erros do libstdc ++ durante a execução do hugo "estendido" com suporte ao SASS.
wget -q -O libstdc++6 http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg --force-all -i libstdc++6
instalar:
wget -q -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.46/hugo_extended_0.46_Linux_64bit.deb
sudo dpkg -i hugo.deb
Encontrei esta solução aqui
fonte
fonte
cp
e nãoln -s
?