Desde que tentei atualizar para o 16.04 xenial, estou recebendo
$ apt
apt: relocation error: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0:
symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_,
version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
quando simplesmente correndo apt
. Escusado será dizer que isso torna difícil fazer qualquer coisa.
Alguma dica?
GRUB
depuração …Respostas:
Eu tive o mesmo problema causado por problemas do PPA for Ubuntu toolchain. Meu computador não inicializou por causa disso. Após o comentário de @ w00kie em sua resposta, baixei (do terminal tty) o debian do pacote
libstdc++6
para oXenial
link https://packages.ubuntu.com/xenial/libstdc++6 e instalei usandodpkg -i
. O computador funciona muito bem agora.Passos
fonte
apt
(ou qualquer ferramenta realmente). Eu até tentei baixarlibstdc++6...deb
de uma unidade USB inicializável, colocar manualmente o pacote, reiniciar no sistema quebrado e instalar o.deb
usosudo dpkg -i libstdc++6...deb
, mas ele nem sabe o quedpkg
é.wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
e depois que o download for feito,dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
(assume o sistema de 64 bits). Para mim, minha conexão com a internet não estava funcionando, então baixei-a em uma unidade USB de um computador diferente e tive que montar manualmente a unidade USB no meu computador problemático (sudo mount /dev/sdc1 /media/usb
ondesdc1
foi encontrada assistindo a saída do terminal logo após conectar o USB) e, em seguida, execute odpkg
comando acima .dpkg --force-all -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
para obtê-lo instaladoOs culpados são os remanescentes do PPA para Ubuntu Toolchain Uploads (restrito) , especificamente
Existem duas possibilidades de lidar com isso:
Você já
ppa-purge
instalou. Entãocorrige os problemas.
Substitua o libstc ++ baixando o libstdc ++ 6 para Xenial e instalando-o via
dpkg -i
.fonte
ppa-purge
não vai funcionar (mesmo python)sudo: ppa-purge: command not found
sudo apt install ppa-purge
apt
também não estava funcionando (conforme o post original).Meu comp falhou ao inicializar corretamente devido a este erro. O Apt-get não estava funcionando, nem o Gnome. Isso foi imediatamente após uma atualização de 14.04 para 16.04. Eu o resolvi em tty digitando
Nesse ponto,
apt-get
comecei a trabalhar novamente e pude corrigir todos os problemas a partir daí:Eu também tive que desinstalar o Virtualbox (após o comando update) e reinstalá-lo mais tarde, mas acho que isso não tem relação.
fonte
apt-add-repository
comando na sua resposta, dá:ImportError: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, version GLIBCXX_3.4.21 not defined in the file libstdc++.so.6 with link time reference
http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
(oui386
ambos) E não se importe com o dpkg amaldiçoando você. Faça--auto--deconfigure
e vocêapt-get
voltará aos trilhos depois, apesar das mensagens de erro. E você poderá terminar com o-f --install
+ apropriado--upgrade
e reiniciar em um sistema novo.Eu estava pensando que o problema era algo único para mim e foi causado por um erro de download.
Essa discussão me deu a pista que eu precisava. Basicamente, tudo o que era necessário era substituir o libstdc ++. So.6.0.22 pelo libstdc ++. So.6.0.21 em / usr / lib / x86_64-linux-gnu do sistema com falha. (Parece que há um erro na versão mais recente.)
Isso pode ser feito a partir de um pen drive ou, como no meu caso, a partir de um disco de trabalho.
Detalhes completos em: https://answers.launchpad.net/ubuntu/+question/395832
Obrigado a todos ...
fonte
Seguindo a
dpkg -i
abordagem na resposta aceita, minha atualização 14.04-> 16.04 exigia não um, mas dois pacotes:Depois disso,
apt upgrade
foi possível baixar os pacotes restantes e concluir a instalação.fonte
Se você possui a versão mais recente do snap 'conjurar' instalada com o Snappy no Yakkety, seu apt será quebrado com um erro muito semelhante:
devido a este erro:
https://bugs.launchpad.net/snappy/+bug/1a677417
Atualmente, a única solução alternativa que eu conheço é a remoção do snap de conjuração (ou, possivelmente, 'revertê-lo' para uma versão anterior, se você tiver um instalado anteriormente).
fonte
A correção que funcionou para mim foi realmente adicionar o ppa do Ubuntu toolchain de volta:
fonte
Você poderá corrigi-lo digitando:
Instalação do sudo apt-get -f
sem especificar nenhum pacote. Deveria fazer o trabalho.
fonte
Pode haver um problema muito semelhante com os sistemas i386.
Para resolver o problema, também tive que fazer o downgrade do gcc-5-base da versão
5.4.1-2ubuntu1~12.04
para5.4.0-6ubuntu1~16.04.4
.Para concluir a atualização para um sistema aparentemente razoável, eu também precisei usar o
dpkg --purge on vituoso_nepomuk
virtualbox para livrar-se de seus arquivos de configuração, que estavam causando problemas (para mim, o VirtualBox é fornecido pelo pacote virtualbox-5.1, que parece ileso pela atualização. )A chave era começar
dpkg --configure dbus
a trabalhar.Para habilitar o wget em uma tela do tipo tty, os usuários também podem precisar executar
sudo dhclient eth0
para habilitar uma conexão Ethernet com fio.fonte
Acabei de ter esse problema ao atualizar a distribuição do ubuntu no linux, vi o seguinte:
libstdc ++. so.6 -> libstdc ++. so.6cd -> libstdc ++. so.6.0.20
Mas havia dois arquivos: libstdc ++. So.6.0.21 e libstdc ++. So.6.0.20
Alterei o link simbólico para apontar para a versão mais recente libstdc ++.
Resultante:
e tudo voltou ao normal
fonte
Faça o download do libstdc ++ 6 para o seu ubuntu no site do gerenciador de pacotes Ubuntu. (use
uname -a
para encontrar a arquitetura h / w e s / w).Corre
Reinicie. O Ubuntu deve inicializar, mas o apt não instala novos pacotes.
Para corrigir dependências e atualizar o sistema, execute estes comandos
fonte