Sejak mencoba meningkatkan ke 16,04 xenial, saya mengerti
$ 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
saat berlari apt
. Tak perlu dikatakan ini membuat sulit untuk melakukan apa pun.
Ada petunjuk?
GRUB
debugging …Jawaban:
Saya memiliki masalah yang sama yang disebabkan oleh masalah dari PPA untuk Ubuntu toolchain. Komputer saya tidak mau boot karena itu. Berikut komentar @ w00kie pada jawabannya, saya download (dari terminal tty) debian paket
libstdc++6
untukXenial
di link https://packages.ubuntu.com/xenial/libstdc++6 dan diinstal dengan menggunakandpkg -i
. Komputer berfungsi dengan baik sekarang.Langkah
sumber
apt
(atau alat apa pun juga). Saya bahkan sudah mencoba mengunduhlibstdc++6...deb
dari USB drive bootable, secara manual menempatkan paket, reboot ke sistem yang rusak dan menginstal.deb
menggunakansudo dpkg -i libstdc++6...deb
, tetapi bahkan tidak tahu apadpkg
itu.wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
dan kemudian setelah itu mengunduh,dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
(mengasumsikan sistem 64-bit). Bagi saya, koneksi internet saya tidak berfungsi, jadi saya mengunduhnya ke drive USB dari komputer yang berbeda, kemudian harus memasang drive USB secara manual di komputer saya yang bermasalah (disudo mount /dev/sdc1 /media/usb
manasdc1
ditemukan dengan menonton keluaran terminal segera setelah mencolokkan USB) dan kemudian jalankandpkg
perintah di atas .dpkg --force-all -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb
untuk menginstalnyaPelakunya adalah sisa dari PPA untuk Ubuntu Upload Toolchain (dibatasi) , khususnya
Ada dua kemungkinan untuk berurusan dengan ini:
Anda sudah
ppa-purge
menginstal. Kemudianmemperbaiki masalah.
Ganti libstc ++ dengan mengunduh libstdc ++ 6 untuk Xenial dan instal via
dpkg -i
.sumber
ppa-purge
tidak akan berfungsi (python yang sama)sudo: ppa-purge: command not found
sudo apt install ppa-purge
apt
juga tidak berfungsi (sesuai dengan posting asli).Comp saya gagal boot dengan benar karena kesalahan ini. Apt-get tidak bekerja, begitu juga Gnome. Ini segera setelah upgrade dari 14,04 menjadi 16,04. Saya memecahkannya dengan memasukkan
Pada titik ini
apt-get
mulai bekerja lagi dan saya dapat memperbaiki semua masalah dari sana:Saya juga harus menghapus Virtualbox (setelah perintah pembaruan) dan menginstalnya kembali nanti, tapi saya pikir ini tidak terkait.
sumber
apt-add-repository
perintah dalam jawaban Anda memberi: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
(ataui386
atau keduanya) Dan jangan pedulikan dpkg mengutuk Anda. Lakukan--auto--deconfigure
dan Andaapt-get
akan kembali ke jalur setelahnya meskipun ada pesan kesalahan. Dan Anda akan dapat selesai dengan-f --install
+ yang benar--upgrade
dan reboot ke sistem yang baru.Saya telah berpikir masalahnya adalah sesuatu yang unik bagi saya, dan disebabkan oleh kesalahan unduhan.
Diskusi ini memberi saya petunjuk yang saya butuhkan. Pada dasarnya, semua yang diperlukan adalah mengganti libstdc ++ .so.6.0.22 dengan libstdc ++ .s.0.0.21 di / usr / lib / x86_64-linux-gnu dari sistem yang gagal. (Sepertinya ada kesalahan dalam versi yang lebih baru.)
Ini dapat dilakukan dari thumb-drive atau, seperti dalam kasus saya, dari disk awal.
Detail lengkapnya di: https://answers.launchpad.net/ubuntu/+question/395832
Terimakasih untuk semua...
sumber
Mengikuti
dpkg -i
pendekatan dalam jawaban yang diterima, peningkatan saya 14,04-> 16,04 tidak hanya membutuhkan satu tetapi dua paket:Setelah ini,
apt upgrade
dapat mengunduh paket yang tersisa dan menyelesaikan instalasi.sumber
Jika Anda memiliki versi terbaru dari snap 'sulap' yang diinstal dengan Snappy di Yakkety, apt Anda akan rusak dengan kesalahan yang sangat mirip:
karena bug ini:
https://bugs.launchpad.net/snappy/+bug/1a677417
Saat ini satu-satunya solusi yang saya tahu adalah menghapus snap conjure-up (atau mungkin 'snap revert' ke versi sebelumnya jika Anda telah menginstal sebelumnya).
sumber
Perbaikan yang berhasil bagi saya adalah benar-benar menambahkan ppa toolchain Ubuntu kembali:
sumber
Anda harus dapat memperbaikinya dengan mengetik:
sudo apt-get -f install
tanpa menentukan paket apa pun. Itu harus melakukan pekerjaan.
sumber
Mungkin ada masalah yang sangat mirip dengan sistem i386.
Untuk mengatasi masalah ini, saya juga harus menurunkan versi gcc-5-base dari Versi
5.4.1-2ubuntu1~12.04
ke5.4.0-6ubuntu1~16.04.4
.Untuk menyelesaikan upgrade ke sistem yang tampak masuk akal, saya juga harus menggunakan
dpkg --purge on vituoso_nepomuk
dan virtualbox untuk menyingkirkan file konfigurasi mereka, yang menyebabkan masalah (bagi saya, VirtualBox disediakan oleh paket virtualbox-5.1, yang tampaknya tanpa cedera oleh upgrade. )Kuncinya adalah mulai
dpkg --configure dbus
bekerja.Untuk mengaktifkan wget saat berada di layar tipe tty, pengguna mungkin juga perlu menjalankan
sudo dhclient eth0
untuk mengaktifkan koneksi ethernet kabel.sumber
Saya baru saja mengalami masalah ini ketika memutakhirkan distribusi ubuntu di linux saya melihat bahwa:
libstdc ++. so.6 -> libstdc ++. so.6cd -> libstdc ++. so.6.0.20
Tetapi ada dua file: libstdc ++ .so.6.0.21 dan libstdc ++. So.6.0.20
Saya telah mengubah tautan simbolis untuk menunjuk ke libstdc versi terbaru ++. Jadi 6.0.0.21
Menghasilkan:
dan semuanya kembali normal
sumber
Unduh libstdc ++ 6 untuk ubuntu Anda dari situs web pengelola paket Ubuntu. (gunakan
uname -a
untuk menemukan arsitektur h / w dan s / w).Lari
Mulai ulang. Ubuntu harus boot tetapi apt tidak akan menginstal paket baru.
Untuk memperbaiki dependensi dan memperbarui sistem, jalankan perintah ini
sumber