Instale g++ ubuntu 14.04 Depende: g++-4.8 (>= 4.8.2-5~) mas não será instalado

Instale g++ ubuntu 14.04 Depende: g++-4.8 (>= 4.8.2-5~) mas não será instalado

Acabei de digitar:

sudo apt-get install g++

e pegou:

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.

Tentei também conforme sugestões em outros fóruns:

sudo apt-get update

e

sudo apt-get -f install

Nenhum resolveu meu problema. Por favor, ajude se você souber a resposta.

EDITAR:

De acordo com a sugestão colocada no comentário, tentei:

sudo apt-cache policy g++-4.8

e obteve a seguinte saída:

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

Ao tentar:

sudo apt-get install g++-4.8

Eu obtive:

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.

Responder1

O 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

Por que? É por isso:

  • libstdc++-4.8-devnos repositórios principais depende delibstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-devno repositório de atualizações depende do libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04que está instalado em seu sistema


A solução?

Minha primeira escolha é habilitar o repositório de atualização novamente:

  • Abra Software & Updatese a guiaUpdates

  • Selecione trusty-updatese trusty-securitycliqueClose

    Se alguém tiver uma versão para o terminal, por favor me avise.

    insira a descrição da imagem aqui

  • Reload

    insira a descrição da imagem aqui

  • Instalar

    sudo apt-get install g++
    

Minha segunda escolha, downgrade

Hmm, eu diria que é uma má ideia=)

Responder2

Porque o Ubuntu 14.04 da fonte é muito antigo ou não está acessível.Portanto, devemos atualizar a fonte.Isso será resolvido. Primeiro, devemos fazer backup do arquivo de origemsources.list

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

De acordo com a versão do Ubuntu para adicionar as novas fontes.

  1. Consulte o comando de versão:

    lsb_release -a
    

    Em seguida, ele imprimirá informações como:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. De acordo com a versão, escolha a fonte adequada e adicione-a ao final do arquivo '/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 de atualização

    sudo apt-get update
    
  4. OK

    sudo apt-get install g++
    

informação relacionada