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

9

Eu apenas digitei:

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 as sugestões em outros fóruns:

sudo apt-get update

e

sudo apt-get -f install

Ninguém resolveu meu problema. Por favor, ajude se você souber a resposta.

EDITAR:

Conforme 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 tenho:

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.
alecrosico
fonte
Quais são os resultados / erros desses apt-getcomandos?
Daniel
O apt-get update atualiza apenas o repositório ... muitas linhas de saída, mas não há erros ... o apt-get -f install fornece: 0 atualizado, 0 recém-instalado, 0 para remover e 44 não atualizado.
alecrosic
Edite sua pergunta e adicione a saída deapt-cache policy g++-4.8
AB
Tente forçar a instalação sudo apt-get install g++-4.8e adicione a saída à sua pergunta. Você deve ver outra mensagem de erro. E precisamos dessa mensagem para encontrar o problema real.
AB
E me faça um comentário com @A.B.Sem que não recebo uma notificação de que você mudou sua pergunta.
AB

Respostas:

9

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 quê? É por isso:

  • libstdc++-4.8-dev nos repositórios principais depende de libstdc++-4.8-dev=4.8.2-19ubuntu1

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


A solução?

Minha primeira opção é ativar o repositório de atualização novamente:

  • Abrir Software & Updatese a guiaUpdates

  • Selecione trusty-updatese trusty-securitye cliqueClose

    Se alguém tiver uma versão para o terminal, entre em contato.

    insira a descrição da imagem aqui

  • Reload

    insira a descrição da imagem aqui

  • Instalar

    sudo apt-get install g++
    

Minha segunda opção, downgrade

Hmm, eu diria, isso é uma péssima ideia =)

AB
fonte
ativar as atualizações e recarregar obras! obrigado.
Alecrosic # 15/15
Eles já foram verificados para mim, mas desmarcar e verificar novamente e recarregar também funciona.
Mitch
0

Como o Ubuntu 14.04 da fonte é muito antigo ou não está acessível, então 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 version:

    lsb_release -a
    

    Em seguida, imprimirá as 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 o verison to choice suitbale source e adicione ao final do arquivo '/etc/apt/sources.list'.

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

    Fonte do 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. Atualizar fonte

    sudo apt-get update
    
  4. Está bem

    sudo apt-get install g++
    
Jack ma
fonte