Seit dem Versuch, auf 16.04 xenial zu aktualisieren, bekomme ich
$ 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
wenn man einfach läuft apt
. Das macht es natürlich schwierig, irgendetwas zu tun.
Irgendwelche Hinweise?
GRUB
Debuggen unterbrechen müssen …Antworten:
Ich hatte das gleiche Problem, das durch Probleme mit der PPA-Toolchain für Ubuntu verursacht wurde. Mein Computer würde deswegen nicht booten. Nach @ w00kies Kommentar zu seiner Antwort habe ich (vom tty-Terminal) das debian of-Paket
libstdc++6
für denXenial
Link https://packages.ubuntu.com/xenial/libstdc++6 heruntergeladen und mit installiertdpkg -i
. Der Computer funktioniert jetzt einwandfrei.Schritte
quelle
apt
kein Werkzeug verwenden. Ich habe sogar versucht,libstdc++6...deb
von einem bootfähigen USB-Laufwerk herunterzuladen , das Paket manuell zu platzieren, das defekte System neu zu starten und das.deb
Using zu installierensudo dpkg -i libstdc++6...deb
, aber es weiß nicht einmal, was esdpkg
ist.wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
und dann nach dem Herunterladendpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
(64-Bit-System vorausgesetzt). Für mich war meine Internetverbindung nicht funktioniert, so habe ich heruntergeladen es auf ein USB - Laufwerk von einem anderen Computer, dann das USB - Laufwerk auf meinem problematischen Computer manuell montieren mußte (sudo mount /dev/sdc1 /media/usb
wosdc1
wurde durch die Beobachtung Terminal - Ausgabe direkt nach dem Einstecken in USB gefunden) Führen Sie dann den obigendpkg
Befehl aus.dpkg --force-all -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
, um es zu installierenDie Täter sind left-overs aus der PPA für Ubuntu Toolchain Uploads (restricted) , und zwar
Es gibt zwei Möglichkeiten, damit umzugehen:
Sie haben bereits
ppa-purge
installiert. Dannbehebt die Probleme.
Überschreiben Sie libstc ++, indem Sie libstdc ++ 6 für Xenial herunterladen und über installieren
dpkg -i
.quelle
ppa-purge
nicht funktioniert (gleiche Python)sudo: ppa-purge: command not found
sudo apt install ppa-purge
apt
auch nicht funktioniert hat ( laut Originalpost).Mein Computer konnte aufgrund dieses Fehlers nicht richtig gestartet werden. Apt-get funktionierte nicht und Gnome auch nicht. Dies geschah unmittelbar nach einem Upgrade vom 14.04 auf den 16.04. Ich löste es in tty, indem ich eintrat
Zu diesem Zeitpunkt
apt-get
begann die Arbeit wieder und ich konnte alle Probleme von dort aus beheben:Ich musste Virtualbox auch deinstallieren (nach dem Update-Befehl) und später wieder installieren, aber ich denke, das hatte nichts damit zu tun.
quelle
apt-add-repository
Befehl in Ihrer Antwort zu verwenden: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
(oderi386
beides) Und es macht dir nichts aus, wenn dpkg dich verflucht. Tun Sie--auto--deconfigure
und Sieapt-get
sind trotz Fehlermeldungen wieder auf dem richtigen Weg. Und Sie können mit dem richtigen-f --install
+--upgrade
abschließen und ein neues System starten.Ich hatte gedacht, dass das Problem etwas Einzigartiges für mich ist und durch einen Download-Fehler verursacht wurde.
Diese Diskussion gab mir den Hinweis, den ich brauchte. Grundsätzlich musste libstdc ++. So.6.0.22 in / usr / lib / x86_64-linux-gnu des ausfallenden Systems durch libstdc ++. So.6.0.21 ersetzt werden. (Anscheinend liegt ein Fehler in der neueren Version vor.)
Dies kann von einem USB-Stick oder, wie in meinem Fall, von einer Arbeitsdiskette aus erfolgen.
Ausführliche Informationen unter: https://answers.launchpad.net/ubuntu/+question/395832
Dank an alle...
quelle
Nach dem
dpkg -i
Ansatz in der akzeptierten Antwort erforderte mein 14.04-> 16.04-Upgrade nicht nur ein, sondern zwei Pakete:Danach
apt upgrade
konnten die restlichen Pakete heruntergeladen und die Installation abgeschlossen werden.quelle
Wenn Sie die neueste Version des "Heraufbeschwörungs" -Snaps mit Snappy auf Yakkety installiert haben, wird Ihre Wohnung mit einem sehr ähnlichen Fehler beschädigt:
aufgrund dieses Fehlers:
https://bugs.launchpad.net/snappy/+bug/1a677417
Derzeit ist die einzige mir bekannte Problemumgehung, den Heraufbeschwörungs-Snap zu entfernen (oder ihn möglicherweise auf eine frühere Version zurückzusetzen, wenn Sie zuvor eine installiert hatten).
quelle
Das Problem wurde behoben, indem ich die Ubuntu-Toolchain ppa back hinzufügte:
quelle
Sie sollten das Problem beheben können, indem Sie Folgendes eingeben:
sudo apt-get -f installieren
ohne Angabe eines Pakets. Es sollte die Arbeit machen.
quelle
Bei i386-Systemen kann ein sehr ähnliches Problem auftreten.
Um das Problem zu lösen, musste ich auch gcc-5-base von Version
5.4.1-2ubuntu1~12.04
auf downgraden5.4.0-6ubuntu1~16.04.4
.Um das Upgrade auf ein vernünftig
dpkg --purge on vituoso_nepomuk
aussehendes System abzuschließen , musste ich auch und virtualbox verwenden, um die Konfigurationsdateien zu entfernen, die Probleme verursachten (für mich wird VirtualBox durch das Paket virtualbox-5.1 bereitgestellt, das vom Upgrade unbeschadet zu sein scheint). )Der Schlüssel war,
dpkg --configure dbus
zur Arbeit zu kommen.Um wget in einem Bildschirm vom Typ tty zu aktivieren, müssen Benutzer möglicherweise auch ausführen
sudo dhclient eth0
, um eine kabelgebundene Ethernet-Verbindung zu aktivieren.quelle
Ich hatte gerade dieses Problem beim Upgrade der Ubuntu-Distribution unter Linux. Ich sah, dass:
libstdc ++. so.6 -> libstdc ++. so.6cd -> libstdc ++. so.6.0.20
Es gab jedoch zwei Dateien: libstdc ++. So.6.0.21 und libstdc ++. So.6.0.20
Ich habe den symbolischen Link geändert, um auf die neueste Version von libstdc ++ zu verweisen
Ergebnis:
und alles wurde wieder normal
quelle
Laden Sie libstdc ++ 6 für Ihr Ubuntu von der Ubuntu-Paketmanager-Website herunter. (verwenden Sie
uname -a
, um die h / w- und s / w-Architektur zu finden).Lauf
Starten Sie neu. Ubuntu sollte booten, aber apt würde keine neuen Pakete installieren.
Führen Sie diese Befehle aus, um Abhängigkeiten zu beheben und das System auf den neuesten Stand zu bringen
quelle