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-dev
nos repositórios principais depende delibstdc++-4.8-dev=4.8.2-19ubuntu1
libstdc++-4.8-dev
no repositório de atualizações depende dolibstdc++-4.8-dev=4.8.4-2ubuntu1~14.04
que 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-updates
etrusty-security
cliqueCloseSe alguém tiver uma versão para o terminal, por favor me avise.
Reload
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.
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
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
Fonte de atualização
sudo apt-get update
OK
sudo apt-get install g++