Installez gcc sur Ubuntu 12.04 LTS

55

Lorsque j'essaie d'installer gcc sur un serveur Ubuntu 12.04 LTS avec apt-get install gcc, j'obtiens le message d'erreur suivant:

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

Quand je fouille plus profondément (c'est-à-dire que j'essaie de apt-get install gcc-4.6), je reçois:

 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

Ainsi, lorsque j'essaie d'installer, gcc-4.6=4.6.1-9ubuntu3je reçois une liste de 366 paquets à supprimer (y compris, par exemple apt). Ce qui est la folie.

Il s’agit d’une installation essentiellement vanille du serveur LTS Ubuntu 12.04 (c’est-à-dire que j’ai installé nginx, python-flup, python-yaml, rsync, python-pkg-resources, lsof, fontconfig, iptables, ufw, scons et grc).

Il est très surprenant pour moi que je ne puisse pas installer gcc. Je ne comprends donc pas pourquoi la tentative d'installation de gcc échoue. La seule solution apparente consisterait à désinstaller 366 paquets, dont beaucoup sont essentiels au fonctionnement d’Ubuntu.

Quelque chose ne va pas, et je serais très reconnaissant de l'aide.

EDIT Ce qui précède est bien sûr avec les derniers paquets, qu’ils ont déjà utilisés apt-get update; apt-get upgradeavant d’essayer ce qui précède. Désolé, j'aurais dû le mentionner.

Brian M. Hunt
la source
1
Avez-vous essayé sudo apt-get update
Tachyons le

Réponses:

89

Il existe un métapaquet appelé build-essentialqui devrait installer le compilateur et un paquet de paquets liés / nécessaires:

sudo apt-get install build-essential

La suggestion de commencer sudo apt-get updateest bonne, cela mettra à jour les listes de paquets et toutes les versions devraient correspondre parfaitement.

C’est toutefois si vous n’avez pas modifié votre /etc/apt/sources.listfichier manuellement. Si tel est le cas, il se peut que certaines des modifications que vous avez apportées ou des référentiels que vous avez ajoutés contiennent des packages en conflit qui entraînent les problèmes que vous voyez. Si tel est le cas, veuillez regarder le fichier et corriger les entrées gênantes. Bien sûr, si vous souhaitez obtenir de l'aide, vous pouvez poster votre sources.listfichier (ou des fragments /etc/apt/sources.list.d) et peut-être que quelqu'un pourra vous aider à les réparer.

roadmr
la source
2
Le problème était une référence errante à oneric dans le sources.list. Lorsque j'ai supprimé cette référence, tout s'est installé naturellement. Excellente suggestion de rechercher sources.listle problème - Merci - très apprécié.
Brian M. Hunt
4

Essayez de continuer à aller plus loin:

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

Commencez par écrire la commande:

sudo apt-get update

Alors essaye:

sudo apt-get install gcc

Je l'ai fait et ça a marché! Vous devriez aussi l'essayer.

Si cela ne fonctionne pas alors:

sudo apt-get install build-essential

Alors essaye. J'espère que ça va marcher!

Maître programmeur
la source
Bonjour maître programmeur, bienvenue sur askubuntu! Tout d'abord, lorsque vous composez une réponse, utilisez les outils de formatage, notamment le format de bloc, pour faciliter le suivi de la réponse. Deuxièmement, à peu près la réponse exacte avait déjà été donnée. Être invité à faire le tour et apprendre à écrire de bonnes réponses.
Nephente
Deuxièmement, votre réponse n'améliore pas substantiellement les réponses déjà existantes. (Cela ne signifie pas qu'il ne s'agit pas d'une réponse, mais ce commentaire a été compris)
Thomas Ward