Installer g ++ ubuntu 14.04 Dépend: g ++ - 4.8 (> = 4.8.2-5 ~) mais il ne sera pas installé

9

Je viens de taper:

sudo apt-get install g++

et a obtenu:

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.

J'ai également essayé selon les suggestions d'autres forums:

sudo apt-get update

et

sudo apt-get -f install

Aucun n'a résolu mon problème. Aidez-nous si vous connaissez la réponse.

ÉDITER:

Selon la suggestion placée dans le commentaire, j'ai essayé:

sudo apt-cache policy g++-4.8

et a obtenu la sortie suivante:

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

En essayant:

sudo apt-get install g++-4.8

J'ai eu:

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.
alécrosique
la source
Quelles sont les sorties / erreurs de ces apt-getcommandes?
Daniel
La mise à jour d'apt-get met à jour le référentiel ... beaucoup de lignes de sortie mais pas d'erreurs ... apt-get -f install donne: 0 mis à jour, 0 nouvellement installé, 0 à supprimer et 44 non mis à niveau.
alecrosic
Modifiez votre question et ajoutez la sortie deapt-cache policy g++-4.8
AB
Essayez de forcer l'installation via sudo apt-get install g++-4.8et ajoutez la sortie à votre question. Vous devriez voir un autre message d'erreur. Et nous avons besoin de ce message pour trouver le vrai problème.
AB
Et donnez-moi un commentaire avec @A.B.Sans cela je ne reçois pas de notification que vous avez changé votre question.
AB

Réponses:

9

Le problème est:

libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed

Pourquoi? Voilà pourquoi:

  • libstdc++-4.8-dev dans les principaux référentiels dépend de libstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-devdans le référentiel des mises à jour dépend de libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04ce qui est installé sur votre système


La solution?

Mon premier choix est de réactiver le référentiel de mise à jour:

  • Ouvrir Software & Updateset l'ongletUpdates

  • Sélectionnez trusty-updateset trusty-securitypuis cliquez surClose

    Si quelqu'un a une version pour le terminal, faites-le moi savoir.

    entrez la description de l'image ici

  • Reload

    entrez la description de l'image ici

  • Installer

    sudo apt-get install g++
    

Mon deuxième choix, rétrograder

Hmm, je dirais que c'est une mauvaise idée =)

UN B
la source
l'activation des mises à jour et du rechargement fonctionne! Merci.
alecrosic
Celles-ci ont déjà été vérifiées pour moi, mais les décocher et les revérifier puis les recharger fonctionnent également.
Mitch
0

Parce que l'Ubuntu 14.04 de la source est trop ancien ou inaccessible, nous devons donc mettre à jour la source, ce sera résolu. Tout d'abord, nous devons sauvegarder le fichier sourcesources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

Selon la version d'Ubuntu pour ajouter les nouvelles sources.

  1. Recherchez la commande de version:

    lsb_release -a
    

    Ensuite, il imprimera les informations telles que:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. Selon la version, choisissez la source de suitbale et ajoutez-la à la fin du fichier '/etc/apt/sources.list'.

    http://wiki.ubuntu.org.cn/Template:14.04source,
    

    Source Ubuntu 14.04:

    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
    
  3. Mettre à jour la source

    sudo apt-get update
    
  4. D'accord

    sudo apt-get install g++
    
Jack ma
la source