Ketika saya mencoba menginstal libstdc++
menggunakan:
sudo apt-get install libstdc++
Saya mendapatkan kesalahan di bawah ini di ubuntu. Apakah Anda punya ide tentang itu?
The following packages have unmet dependencies:
libstdc++-4.8-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++-4.9-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++-5-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++-4.9-doc but 4.9.3-8ubuntu2~14.04 is to be installed
Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
libstdc++6-4.7-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
libstdc++6-4.7-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
libstdc++6-4.8-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
libstdc++6-4.8-dbg-armhf-cross : Conflicts: libstdc++6-4.7-dbg-armhf-cross but 4.7.3-11ubuntu1cross1.85 is to be installed
libstdc++6-4.9-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
libstdc++6-5-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++6-4.9-dbg but 4.9.3-8ubuntu2~14.04 is to be installed
E: Unable to correct problems, you have held broken packages.
libstdc++
(mungkin Anda mencoba untuk menginstallibstdc++6
? Karena++
karakter, ketikaapt
tidak menemukan kecocokan yang tepat itu memperlakukan nama paket sebagai ekspresi reguler sehingga dalam hal ini mencoba untuk menginstal paket apa pun yang namanya pertandinganlibstd
diikuti oleh satu atau lebihc
- banyak di antaranya konflik, seperti yang Anda lihatapt
mengatakan bahwa itu akan memperlakukan nama paket sebagai regex jika mereka memasukkan.
,?
atau*
tanpa menyebutkan+
, sehingga perilaku tersebut tidak benar-benar diharapkan.Jawaban:
Sebenarnya tidak ada paket bernama
libstdc++
(mungkin Anda mencoba menginstallibstdc++6
?)Ketika apt tidak menemukan yang sama persis dengan nama paket, itu memperlakukan string yang diberikan sebagai ekspresi reguler. Dalam hal ini,
++
penyebabnya adalah mencoba menginstal paket apa saja yang namanya cocoklibstd
diikuti oleh satu atau lebihc
- banyak konflik, seperti yang Anda lihat.Sayangnya saya tidak pernah berhasil menemukan cara untuk mematikan perilaku ini (tidak ada yang saya coba di masa lalu menggunakan karakter escape tampaknya berhasil) - satu-satunya solusi yang saya tahu adalah berhati-hati untuk memberikan nama paket yang tepat di mana setiap karakter regex mungkin disalahartikan, dan untuk memastikan katalog paket adalah terbaru yaitu
sumber
^PACKAGE$
Pertama jalankan perintah ini
lalu coba
atau coba hasil pencarian ini dan instal satu paket yang diinginkan dari http://packages.ubuntu.com/search?keywords=libstdc%2B%2B terdaftar
sumber
libstdc++
termasuk dalambuild-essential
s?aptitude
jika Anda tidak menggunakannya untuk menginstallibstdc++6
?sumber