apt não pode instalar ou remover completamente o gcc

0

Recentemente fiz uma nova instalação do Ubuntu, me meti em confusão tentando instalar o gcc-4.8, tentei algumas coisas diferentes e agora estou preso tentando voltar para onde comecei.

#> sudo apt-get install build-essential
The following packages have unmet dependencies.
 build-essential : Depends: gcc (>= 4:4.4.3) but it is not going to be installed
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

#> sudo apt-get install gcc
The following packages have unmet dependencies.
 gcc : Depends: gcc-4.8 (>= 4.8.1-4~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Eu removi o máximo possível de itens relacionados ao GCC. Eu acho que o único pacote gcc- * instalado no momento é o gcc-4.8-base: amd64 mas se eu tentar remover isso:

libgcc1 : Depends: gcc-4.8-base (= 4.8.2-1ubuntu1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Da mesma forma, o único pacote libgcc- * instalado é libgcc1: amd64 e eu tento remover isso:

The following packages have unmet dependencies.
 libc6 : Depends: libgcc1 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Tentar remover qualquer coisa relacionada à libc6 me dá algumas opções assustadoras e não faz sentido.

Esta é minha sources.list no momento, eu desativei algumas coisas e atualizei.

# deb cdrom:[Kubuntu 13.10 _Saucy Salamander_ - Release amd64 (20131016.1)]/ saucy main multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy universe
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu saucy-security main restricted
deb-src http://security.ubuntu.com/ubuntu saucy-security main restricted
deb http://security.ubuntu.com/ubuntu saucy-security universe
deb-src http://security.ubuntu.com/ubuntu saucy-security universe
deb http://security.ubuntu.com/ubuntu saucy-security multiverse
deb-src http://security.ubuntu.com/ubuntu saucy-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu saucy partner
# deb-src http://archive.canonical.com/ubuntu saucy partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
# deb http://extras.ubuntu.com/ubuntu saucy main
# deb http://archive.canonical.com/ saucy partner
# deb-src http://archive.canonical.com/ saucy partner
# deb-src http://extras.ubuntu.com/ubuntu saucy main
# deb-src http://archive.canonical.com/ saucy partner

Eu não entendo os erros do apt. Eu sei muito pouco sobre o apt em geral. As mensagens de erro não fazem sentido, não entendo porque várias versões do gcc não podem coexistir (o que aconteceu em uma instalação anterior) ou como é possível que qualquer pacote instalado impeça a instalação de outros pacotes. Não sei como obter mais informações sobre o problema.

No momento, meu objetivo é me livrar de todas as coisas relacionadas ao gcc-4.8 e ter apenas um gcc padrão (qualquer versão) instalado. O que eu faço?

Obrigado

    
por spraff 01.04.2014 / 00:01

3 respostas

1

Usando o aptitude em vez do apt-get, consegui fazer o downgrade de pacotes existentes e, em seguida, instalá-los normalmente.

    
por 04.04.2014 / 14:41
0

Pesquisando no Google o seu erro revela a resposta no Ask Ubuntu - parece que você "segurou" um pacote ( Eu apostaria o GCC) em uma versão anterior, e isso está fazendo com que apt-get não consiga resolver dependências que exigem uma versão mais recente.

Para retirar o pacote, siga o link nos comentários dessa resposta, que o levará para outra pergunta também respondida por lá.

    
por 01.04.2014 / 00:45
0

Você sempre pode desinstalar todos os gcc encontrados. Você pode consultar os pacotes do gcc que você instalou via dpkg -l Cheat Sheet e desinstale via apt-get purge gcc Cheat Sheet . Uma nova instalação do gcc que você está cuidando disso deve resolver o erro que você está tendo. Lembre-se de executar um autoremove / autoclean do apt-get depois de manter tudo limpo :). Espero que isso ajude.

    
por 01.04.2014 / 00:47

Tags