Installieren Sie gcc unter Ubuntu 12.04 LTS

55

Wenn ich versuche, gcc unter Ubuntu 12.04 LTS Server mit zu installieren apt-get install gcc, erhalte ich die folgende Fehlermeldung:

The following packages have unmet dependencies:
 gcc : Depends: cpp (>= 4:4.6.1-2ubuntu5) but it is not going to be installed
       Depends: gcc-4.6 (>= 4.6.1-1) but it is not going to be installed
       Recommends: libc6-dev but it is not going to be installed or
                   libc-dev

Wenn ich tiefer eintauche (dh es versuche apt-get install gcc-4.6), erhalte ich:

 gcc-4.6 : Depends: gcc-4.6-base (= 4.6.1-9ubuntu3) but 4.6.3-1ubuntu5 is to be installed
           Depends: cpp-4.6 (= 4.6.1-9ubuntu3) but it is not going to be installed
           Depends: libgomp1 (>= 4.6.1-9ubuntu3) but it is not going to be installed
           Depends: libquadmath0 (>= 4.6.1-9ubuntu3) but it is not going to be installed
           Recommends: libc6-dev (>= 2.13-0ubuntu6) but it is not going to be installed

Wenn ich versuche zu installieren, gcc-4.6=4.6.1-9ubuntu3erhalte ich eine Liste von 366 Paketen, die entfernt werden müssen (einschließlich zB apt). Welches ist Verrücktheit.

Dies ist eine Vanilla-Installation von Ubuntu 12.04 LTS Server (dh ich habe nginx, python-flup, python-yaml, rsync, python-pkg-resources, lsof, fontconfig, iptables, ufw, scons und grc installiert).

Es ist für mich sehr überraschend, dass ich gcc nicht installieren kann, und ich bin etwas verwirrt, warum der Versuch, gcc zu installieren, fehlschlägt. Die einzige offensichtliche Lösung scheint die Deinstallation von 366 Paketen zu sein, von denen viele für den Betrieb von Ubuntu von zentraler Bedeutung sind.

Etwas passt nicht zusammen und ich wäre sehr dankbar für Hilfe.

BEARBEITEN Das obige ist natürlich mit den neuesten Paketen, die apt-get update; apt-get upgradevor dem Versuch das obige verwendet haben. Entschuldigung, das hätte ich erwähnen sollen.

Brian M. Hunt
quelle
1
Haben Sie versucht, sudo apt-get Update
Tachyons

Antworten:

89

Es gibt ein genanntes Metapaket, build-essentialdas den Compiler und eine Reihe zugehöriger / benötigter Pakete installieren soll:

sudo apt-get install build-essential

Der Vorschlag, den Sie zuerst machen sollten, sudo apt-get updateist der Sound. Dadurch werden die Paketlisten aktualisiert und alle Versionen sollten gut übereinstimmen.

Dies ist jedoch der Fall, wenn Sie Ihre /etc/apt/sources.listDatei nicht manuell geändert haben. In diesem Fall enthalten möglicherweise einige der von Ihnen vorgenommenen Änderungen oder hinzugefügten Repositorys widersprüchliche Pakete, die die angezeigten Probleme verursachen. In diesem Fall schauen Sie sich bitte die Datei an und korrigieren Sie die fehlerhaften Einträge. Wenn Sie dabei Hilfe benötigen, können Sie natürlich Ihre sources.listDatei (oder Fragmente darin /etc/apt/sources.list.d) posten, und vielleicht kann Ihnen jemand dabei helfen, sie zu beheben.

Roadmr
quelle
2
Das Problem war ein fehlerhafter Verweis auf oneric in der sources.list. Als ich diesen Verweis entfernte, wurde alles natürlich installiert. Toller Vorschlag, um sources.listnach dem Problem zu suchen - Danke - sehr geschätzt.
Brian M. Hunt
4

Versuche weiter zu gehen:

sudo apt-get update
sudo apt-get install gcc-4.6-base cpp-4.6 libgomp1 libquadmath0 libc6-dev
David M. Sousa
quelle
1

Schreiben Sie zuerst den Befehl:

sudo apt-get update

Dann versuche es:

sudo apt-get install gcc

Ich habe das getan und es hat funktioniert! Sie sollten es auch versuchen.

Wenn es nicht funktioniert, dann:

sudo apt-get install build-essential

Dann versuche es. Ich hoffe, dass es funktionieren wird!

Master Programmer
quelle
Hallo Master Programmer, herzlich willkommen bei askubuntu! Verwenden Sie beim Verfassen einer Antwort zunächst die Formatierungswerkzeuge, insbesondere das Blockformat, damit die Antwort leichter nachvollzogen werden kann. Zweitens war so ziemlich die genaue Antwort schon gegeben worden. Seien Sie eingeladen, an der Tour teilzunehmen und zu lernen, wie man gute Antworten schreibt.
Nephente
Zweitens verbessert Ihre Antwort andere bereits vorhandene Antworten nicht wesentlich. (Es gilt nicht als "Keine Antwort", aber es wird dieser Kommentar angezeigt.)
Thomas Ward