Ich habe gerade Folgendes eingegeben:
sudo apt-get install g++
und bekam:
The following packages have unmet dependencies:
g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Ich habe es auch gemäß den Vorschlägen in anderen Foren versucht:
sudo apt-get update
Und
sudo apt-get -f install
Keiner hat mein Problem gelöst. Bitte helfen Sie, wenn Sie die Antwort wissen.
BEARBEITEN:
Gemäß dem im Kommentar enthaltenen Vorschlag habe ich Folgendes versucht:
sudo apt-cache policy g++-4.8
und erhielt die folgende Ausgabe:
g++-4.8:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
Indem Sie versuchen:
sudo apt-get install g++-4.8
Ich habe:
The following packages have unmet dependencies:
g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: libstdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Antwort1
Das Problem ist:
libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Warum darum:
libstdc++-4.8-dev
in den Hauptrepositorys hängt ab vonlibstdc++-4.8-dev=4.8.2-19ubuntu1
libstdc++-4.8-dev
im Update-Repository hängt davon ablibstdc++-4.8-dev=4.8.4-2ubuntu1~14.04
, welches auf Ihrem System installiert ist
Die Lösung?
Meine erste Wahl ist, das Update-Repository erneut zu aktivieren:
Öffnen Sie Software & Updatesdie RegisterkarteUpdates
Wählen Sie
trusty-updates
undtrusty-security
klicken Sie aufCloseWenn jemand eine Version für das Terminal hat, lassen Sie es mich bitte wissen.
Reload
Installieren
sudo apt-get install g++
Meine zweite Wahl, Downgrade
Hmm, ich würde sagen, das ist eine schlechte Idee=)
Antwort2
Weil das Ubuntu 14.04 der Quelle zu alt oder nicht zugänglich ist. Also sollten wir die Quelle aktualisieren. Das wird behoben. Zuerst sollten wir die Quelldatei sichernsources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
Je nach Ubuntu-Version werden die neuen Quellen hinzugefügt.
Fragen Sie den Versionsbefehl ab:
lsb_release -a
Anschließend werden folgende Informationen ausgedruckt:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty
Wählen Sie je nach Version eine passende Quelle aus und fügen Sie sie am Ende der Datei „/etc/apt/sources.list“ hinzu.
http://wiki.ubuntu.org.cn/Template:14.04source,
Ubuntu 14.04 Quelle:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
Update-Quelle
sudo apt-get update
OK
sudo apt-get install g++