Depuis que j'essaie de passer à 16.04 xenial, je reçois
$ 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
quand simplement courir apt
. Inutile de dire que cela rend la tâche difficile.
Des allusions?
GRUB
débogage …Réponses:
J'ai eu le même problème causé par des problèmes de PPA pour la chaîne d'outils Ubuntu. Mon ordinateur ne veut pas démarrer à cause de cela. Après le commentaire de @ w00kie sur sa réponse, j'ai téléchargé (depuis le terminal tty) le fichier debian du paquet
libstdc++6
pourXenial
au lien https://packages.ubuntu.com/xenial/libstdc++6 et installé à l'aide dedpkg -i
. L'ordinateur fonctionne très bien maintenant.Pas
la source
apt
(ni aucun outil vraiment). J'ai même essayé de téléchargerlibstdc++6...deb
depuis une clé USB amorçable, de placer manuellement le paquet, de redémarrer le système en panne et d'installer le.deb
usingsudo dpkg -i libstdc++6...deb
, mais il ne sait même pas ce quedpkg
c'est.wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
et ensuite, une fois téléchargé,dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
(suppose un système 64 bits). Pour moi, ma connexion Internet ne fonctionnait pas, alors je l'ai téléchargée sur un lecteur USB depuis un autre ordinateur, puis j'ai dû monter manuellement le lecteur USB sur mon ordinateur problématique (sudo mount /dev/sdc1 /media/usb
oùsdc1
on a trouvé en regardant la sortie du terminal juste après avoir branché l'USB) puis exécutez ladpkg
commande ci-dessus .dpkg --force-all -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
pour l'installerLes coupables sont des restes du PPA pour Ubuntu Toolchain Uploads (restreint) , en particulier
Il y a deux possibilités pour traiter ceci:
Vous avez déjà
ppa-purge
installé. ensuiterésout les problèmes.
Remplacez libstc ++ en téléchargeant libstdc ++ 6 pour Xenial et en l’installant via
dpkg -i
.la source
ppa-purge
cela ne fonctionnerait évidemment pas (même python)sudo: ppa-purge: command not found
sudo apt install ppa-purge
apt
ne fonctionnait pas non plus (comme dans le message d'origine).Ma comp n'a pas pu démarrer correctement à cause de cette erreur. Apt-get ne fonctionnait pas, pas plus que Gnome. C'était immédiatement après une mise à niveau de 14.04 à 16.04. Je l'ai résolu en tty en entrant
À ce stade, a
apt-get
commencé à fonctionner à nouveau et j'ai été en mesure de résoudre tous les problèmes à partir de là:J'ai également dû désinstaller Virtualbox (après la commande de mise à jour) et le rétablir plus tard, mais je pense que cela n'avait aucun rapport.
la source
apt-add-repository
commande dans votre réponse, donne: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
(ou lesi386
deux) Et ne craignez pas que dpkg vous maudisse. Faites--auto--deconfigure
et vousapt-get
serez sur la bonne voie par la suite malgré les messages d'erreur. Et vous pourrez finir avec-f --install
+--upgrade
et redémarrer dans un nouveau système.Je pensais que le problème était unique en mon genre et qu'il était dû à une erreur de téléchargement.
Cette discussion m'a donné l'indice dont j'avais besoin. Fondamentalement, tout ce dont nous avions besoin était de remplacer libstdc ++. So.6.0.22 par libstdc ++. So.6.0.21 dans / usr / lib / x86_64-linux-gnu du système défaillant. (Il semble y avoir une erreur dans la nouvelle version.)
Cela peut être fait à partir d'une clé USB ou, comme dans mon cas, à partir d'un disque de travail.
Tous les détails sur: https://answers.launchpad.net/ubuntu/+question/395832
Merci à tous...
la source
Suivant l’
dpkg -i
approche retenue dans la réponse acceptée, ma mise à niveau de 14.04 -> 16.04 ne nécessitait pas un mais deux packages:Après cela,
apt upgrade
a pu télécharger les packages restants et terminer l'installation.la source
Si vous avez la dernière version du composant logiciel enfichable 'conjure-up' installée avec Snappy sur Yakkety, votre apt sera cassé avec une erreur très similaire:
à cause de ce bug:
https://bugs.launchpad.net/snappy/+bug/1a677417
À l'heure actuelle, la seule solution que je connaisse est la suppression du composant logiciel enfichable de conjure-up (ou, éventuellement, le 'remplacement du composant logiciel enfichable' par une version précédente si vous en aviez déjà installé une auparavant).
la source
La solution qui a fonctionné pour moi a été d’ajouter la chaîne d’outils Ubuntu:
la source
Vous devriez pouvoir le réparer en tapant:
sudo apt-get -f install
sans spécifier aucun paquet. Il devrait faire le travail.
la source
Il peut y avoir un problème très similaire avec les systèmes i386.
Pour résoudre le problème, je devais aussi déclasser gcc-5 de la version de base
5.4.1-2ubuntu1~12.04
à5.4.0-6ubuntu1~16.04.4
.Pour terminer la mise à niveau vers un système à l'apparence raisonnable, j'ai également dû utiliser
dpkg --purge on vituoso_nepomuk
virtualbox pour supprimer leurs fichiers de configuration, ce qui posait problème (pour moi, VirtualBox est fourni par le paquet virtualbox-5.1, qui semble indemne de la mise à niveau. )La clé était de se rendre
dpkg --configure dbus
au travail.Pour activer wget dans un écran de type tty, les utilisateurs peuvent également avoir besoin de s’exécuter
sudo dhclient eth0
pour activer une connexion Ethernet câblée.la source
Je viens d'avoir ce problème lors de la mise à niveau de la distribution Ubuntu sur Linux, j'ai vu que:
libstdc ++. so.6 -> libstdc ++. so.6cd -> libstdc ++. so.6.0.20
Mais il y avait deux fichiers: libstdc ++. So.6.0.21 et libstdc ++. So.6.0.20
J'ai changé le lien symbolique pour qu'il pointe vers la dernière version de libstdc ++. So.6.0.21
Résultant:
et tout est revenu à la normale
la source
Téléchargez libstdc ++ 6 pour votre ubuntu à partir du site Web du gestionnaire de paquets Ubuntu. (utilisez
uname -a
pour trouver l'architecture h / w et s / w).Courir
Redémarrer. Ubuntu devrait démarrer mais apt n’installe pas de nouveaux paquets.
Pour réparer les dépendances et mettre le système à jour, exécutez ces commandes
la source