Installa g ++ ubuntu 14.04 Dipende da: g ++ - 4.8 (> = 4.8.2-5 ~) ma non verrà installato


9

Ho appena scritto:

sudo apt-get install g++

e ottenuto:

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.

Ho provato anche come da suggerimenti in altri forum:

sudo apt-get update

e

sudo apt-get -f install

Nessuno ha risolto il mio problema. Aiutatemi se conoscete la risposta.

MODIFICARE:

Come da suggerimento inserito nel commento, ho provato:

sudo apt-cache policy g++-4.8

e ottenuto il seguente output:

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

Provando:

sudo apt-get install g++-4.8

Ho ottenuto:

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.

Quali sono gli output / errori di questi apt-getcomandi?
Daniel,

apt-get update aggiorna solo il repository ... molte righe di output ma nessun errore ... apt-get -f install dà: 0 aggiornato, 0 appena installato, 0 da rimuovere e 44 non aggiornato.
Alecrosic,

Modifica la tua domanda e aggiungi l'output diapt-cache policy g++-4.8
AB

Prova a forzare l'installazione tramite sudo apt-get install g++-4.8e aggiungi l'output alla tua domanda. Dovresti vedere un altro messaggio di errore. E abbiamo bisogno di questo messaggio per trovare il vero problema.
AB

E fammi un commento con @A.B.Senza che non ricevo una notifica che hai modificato la tua domanda.
AB

Risposte:


9

Il problema è:

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

Perché? Ecco perchè:

  • libstdc++-4.8-dev nei repository principali dipende libstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-devnel repository degli aggiornamenti dipende da libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04, che è installato nel tuo sistema


La soluzione?

La mia prima scelta è, abilitare nuovamente il repository di aggiornamento:

  • Apri Software & Updatese la schedaUpdates

  • Selezionare trusty-updatese trusty-securitye fare clicClose

    Se qualcuno ha una versione per il terminale, per favore fatemelo sapere.

    inserisci qui la descrizione dell'immagine

  • Reload

    inserisci qui la descrizione dell'immagine

  • Installare

    sudo apt-get install g++
    

La mia seconda scelta, il downgrade

Hmm, direi, è una cattiva idea =)


abilitare gli aggiornamenti e ricaricare funziona! grazie.
alecrosic,

Questi sono già stati controllati per me, ma anche deselezionarli e ricontrollarli e quindi ricaricare funziona.
Mitch,

0

Perché Ubuntu 14.04 della fonte è troppo vecchio o non accessibile, quindi dovremmo aggiornare la fonte, che verrà risolta. Innanzitutto, dovremmo eseguire il backup del file di originesources.list

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

Secondo la versione di Ubuntu per aggiungere le nuove fonti.

  1. Interroga il comando versione:

    lsb_release -a
    

    Quindi stamperà informazioni come:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. Secondo il verison a scelta fonte suitbale e aggiungere alla fine del file '/etc/apt/sources.list'.

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

    Fonte 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. Fonte di aggiornamento

    sudo apt-get update
    
  4. ok

    sudo apt-get install g++
    
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.