web-dev-qa-db-fra.com

Installez g ++ ubuntu 14.04 Dépend: g ++ - 4.8 (> = 4.8.2-5 ~) mais il ne va pas être installé

Je viens de taper:

Sudo apt-get install g++

et j'ai:

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 aussi essayé selon des suggestions dans d'autres forums:

Sudo apt-get update

et

Sudo apt-get -f install

Aucun n'a résolu mon problème. S'il vous plaît aider si vous connaissez la réponse.

MODIFIER:

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.
8
alecrosic

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? C'est pourquoi:

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

  • libstdc++-4.8-dev dans le référentiel de mises à jour dépend de libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04, 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 & Updates et l'onglet Updates

  • Sélectionnez trusty-updates and trusty-security et cliquez sur Close

    Si quelqu'un a une version pour le terminal, merci de me le faire savoir.

    enter image description here

  • Reload

    enter image description here

  • Installer

    Sudo apt-get install g++
    

Mon deuxième choix, rétrograder

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

7
A.B.

Parce que Ubuntu 14.04 du code source est trop ancien ou inaccessible. Nous devons donc mettre à jour le code source. Ce problème sera résolu. Premièrement, nous devrions sauvegarder le fichier source sources.list

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

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

  1. Interrogez 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 au choix source et ajouter à 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++
    
0
Jack ma