Ponieważ próbuję uaktualnić do xenial 16.04, otrzymuję
$ 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
kiedy po prostu biegniesz apt
. Nie trzeba dodawać, że utrudnia to robienie czegokolwiek.
Jakieś wskazówki?
GRUB
debugowaniu …Odpowiedzi:
Miałem ten sam problem spowodowany problemami z PPA dla łańcucha narzędzi Ubuntu. Mój komputer nie uruchomił się z tego powodu. Następujący komentarz @ w00kie na jego odpowiedź, Pobrałem (od terminala tty) debian pakietu
libstdc++6
dlaXenial
w linku https://packages.ubuntu.com/xenial/libstdc++6 i zainstalowany przy użyciudpkg -i
. Komputer działa teraz dobrze.Kroki
źródło
apt
(ani żadnego narzędzia tak naprawdę). Mam nawet próbował ściągnąćlibstdc++6...deb
z rozruchowego dysku USB, ręcznie umieścić pakiet, uruchom ponownie do systemu i zainstalowaniu złamaną.deb
użyciusudo dpkg -i libstdc++6...deb
, ale to nawet nie wiem codpkg
jest.wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
a następnie pobrać plikdpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
(system 64-bitowy). Dla mnie moje połączenie internetowe nie działało, więc pobrałem go na dysk USB z innego komputera, a następnie musiałem ręcznie zamontować dysk USB na moim problematycznym komputerze (sudo mount /dev/sdc1 /media/usb
gdziesdc1
znaleziono go, oglądając wyjście terminala zaraz po podłączeniu USB) a następnie uruchom powyższedpkg
polecenie.dpkg --force-all -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
aby go zainstalowaćWinowajca jest resztki żywności z PPA Ubuntu Toolchain przesyłania (ograniczony) , w szczególności
Istnieją dwie możliwości rozwiązania tego problemu:
Już
ppa-purge
zainstalowałeś. Następnienaprawia problemy.
Zastąp libstc ++, pobierając libstdc ++ 6 dla Xenial i instalując go za pośrednictwem
dpkg -i
.źródło
ppa-purge
nie będą działać (ten sam python)sudo: ppa-purge: command not found
sudo apt install ppa-purge
apt
również nie działał (jak w oryginalnym poście).Mój komputer nie uruchomił się poprawnie z powodu tego błędu. Apt-get nie działał, podobnie jak Gnome. Było to natychmiast po aktualizacji z 14.04 do 16.04. Rozwiązałem go w tty, wchodząc
W tym momencie
apt-get
znów zaczął działać i mogłem naprawić wszystkie błędy stamtąd:Musiałem też odinstalować Virtualbox (po poleceniu aktualizacji) i zainstalować go później, ale myślę, że to nie było związane.
źródło
apt-add-repository
polecenia w swojej odpowiedzi daje: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
(lubi386
jedno i drugie) I nie przejmuj się przekleństwem dpkg. Zrób,--auto--deconfigure
aapt-get
potem wrócisz na właściwe tory pomimo komunikatów o błędach. Będziesz mógł zakończyć z poprawnym-f --install
+--upgrade
i zrestartować komputer do nowego systemu.Myślałem, że problem był dla mnie czymś wyjątkowym i był spowodowany błędem pobierania.
Ta dyskusja dała mi wskazówkę, której potrzebowałem. Zasadniczo wystarczyło zastąpić libstdc ++. So.6.0.22 libstdc ++. So.6.0.21 w / usr / lib / x86_64-linux-gnu systemu, w którym wystąpił błąd. (Wygląda na to, że w nowszej wersji wystąpił błąd).
Można to zrobić z pendrive'a lub, jak w moim przypadku, z dysku scratch.
Pełne szczegóły na: https://answers.launchpad.net/ubuntu/+question/395832
Dziękuje za wszystko...
źródło
Zgodnie z
dpkg -i
podejściem przyjętym w odpowiedzi moja aktualizacja 14.04-> 16.04 wymagała nie jednego, ale dwóch pakietów:Następnie
apt upgrade
udało się pobrać pozostałe pakiety i dokończyć instalację.źródło
Jeśli masz najnowszą wersję przystawki „wyczarowania” zainstalowaną w Snappy na Yakkety, twój apt zostanie uszkodzony z bardzo podobnym błędem:
z powodu tego błędu:
https://bugs.launchpad.net/snappy/+bug/1a677417
Obecnie jedynym znanym mi obejściem jest usunięcie przystawki wyczarowania (lub „przywrócenie” przywrócenia poprzedniej wersji, jeśli wcześniej ją zainstalowałeś).
źródło
Rozwiązaniem, które zadziałało, było dodanie ppa z powrotem do zestawu narzędzi Ubuntu:
źródło
Powinieneś być w stanie to naprawić, wpisując:
sudo apt-get -f install
bez określania żadnego pakietu. Powinien wykonać pracę.
źródło
Może być bardzo podobny problem z systemami i386.
Aby rozwiązać ten problem, miałem również downgrade gcc-5-bazą Wersja
5.4.1-2ubuntu1~12.04
do5.4.0-6ubuntu1~16.04.4
.Aby dokończyć aktualizację do rozsądnie
dpkg --purge on vituoso_nepomuk
wyglądającego systemu, musiałem również użyć i virtualbox, aby pozbyć się plików konfiguracyjnych, które powodowały problemy (dla mnie VirtualBox jest dostarczany przez pakiet virtualbox-5.1, który wydaje się być nietknięty przez aktualizację. )Kluczem było zabranie się
dpkg --configure dbus
do pracy.Aby włączyć wget na ekranie typu tty, użytkownicy mogą również wymagać wykonania,
sudo dhclient eth0
aby umożliwić przewodowe połączenie Ethernet.źródło
Właśnie miałem ten problem podczas aktualizacji dystrybucji Ubuntu na Linuksie. Widziałem:
libstdc ++. so.6 -> libstdc ++. so.6cd -> libstdc ++. so.6.0.20
Ale były dwa pliki: libstdc ++. So.6.0.21 i libstdc ++. So.6.0.20
Zmieniłem dowiązanie symboliczne, aby wskazywało na najnowszą wersję libstdc ++. So.6.0.21
Wynikły:
i wszystko wróciło do normy
źródło
Pobierz libstdc ++ 6 dla swojego Ubuntu ze strony menedżera pakietów Ubuntu. (użyj,
uname -a
aby znaleźć architekturę h / w i s / w).Biegać
Restart. Ubuntu powinno się uruchomić, ale apt nie instalowałby nowych pakietów.
Aby naprawić zależności i zaktualizować system, uruchom te polecenia
źródło