O sistema de pacotes está quebrado. Como corrigi-lo?

50

Eu comprei recentemente um arduino e requer que o gcc-avr / avrdude compile o software. Eu instalei o avr para outro componente do microprocessador há um tempo atrás, mas é obviamente uma versão desatualizada (versão gcc 3.3 20030512 (pré-lançamento)), então fui em frente para atualizá-los, mas não funcionou.

(Observe que antes eu também quebrei meu aptdaemon através de uma instalação incompleta do wine (não foi possível obter o contrato de instalação de fontes), mas eu o corrigi através de uma reinstalação e depois aceitando o contrato.)

Estou tentando atualizá-los executando o script de compilação do bingo, mas as dependências necessárias não podem ser instaladas devido a avr ... relatórios de terminal

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Mas correndo

apt-get -f install

resulta em

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Tentei executar o gerenciador de atualizações e atualizar meu sistema através dele, mas tudo o que recebo é uma mensagem de erro

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

que então me diz para tentar executar o apt-get -f install, que resulta da mesma forma que da última vez.

Então, como posso consertar meu sistema, eu realmente preciso do novo avr, por favor :) BTW, meu sistema é o Ubuntu 11.04

Vigi
fonte
Você tem o synaptic instalado no seu sistema ?!
Sim porque? Eu não deveria tê-lo?
Omer
Mesmo erro (mas com base em libboost). Nenhuma das respostas funcionou para mim.
Isomorphismes

Respostas:

41

Depois de receber esse erro, tente sudo apt-get -f installforçar uma instalação dos arquivos que não foram carregados devido ao erro.

Em seguida, tente sudo apt-get updatenovamente, sudo apt-get -f installindo e voltando, até que apenas o pacote com o erro seja deixado.

sudo dpkg --configure -a

e limpe o cache

sudo apt-get clean

Ringtail
fonte
3
Obrigado pela resposta, mas eu encontrei uma solução exatamente como você postou isso: O PI abriu o gerenciador de pacotes sinápticos e filtrou dois pacotes quebrados que eu removi com o SPM, que agora tudo funciona bem. Consegui instalar as dependências e agora estou instalando o avr usando o script do bingo! :) Não é terminado ainda, mas se ele falhar eu vou tentar a sua resposta
Vigi
bom ouvir seu fixo
Ringtail
ok, Acabei de excluir a partição 11.04 e a nova instalação 11.10. agora executando-o ao lado do windows vista. Então agora eu tenho os mais recentes avr / binutils / libs etc instalados. Agora eu posso compilar coisas para o arduino :) yay!
Vigi
Como resultado desse problema, também falhei ao carregar drivers de mouse e WLAN. Isso significa que não tenho mais conexão com a Internet e não posso usá-lo sudo apt-get -f install.
precisa saber é o seguinte
21

Isso geralmente acontece como resultado de 'Dependências não atendidas para pacotes instalados'.

Aqui está uma solução simples se você tiver o 'Synaptic' instalado:

  • Abra o Synaptic.
  • Vá para 'Status' (na navegação esquerda).
  • Escolha 'Quebrado'.
  • Remova esses pacotes quebrados.

Caso contrário, pode ser tratado via CLI:

Abra o terminal e execute este comando:

sudo apt-get clean

O comando acima limpará o repositório local do arquivo de pacote recuperado.

sudo apt-get install -f

Corrigirá dependências desfeitas, ou seja, -faqui significa "consertar desfeitas".

sudo dpkg --configure -a

irá configurar todos ( -a) os pacotes que ainda não foram configurados. No final, execute o comando update sudo apt-get update.

Nabeel Ahmed
fonte
Como resultado desse problema, também falhei ao carregar drivers de mouse e WLAN. Isso significa que não tenho mais conexão com a Internet e não posso usá-lo sudo apt-get -f install.
precisa saber é o seguinte
Você pode usar um gerenciador de pacotes offline / portátil, por exemplo, Keryx ou Cube - ajuda a baixar pacotes e repositórios mais recentes (em uma pasta ou diretamente no pendrive) de outro computador com conexão à Internet (Linux ou Windows), depois de conectar o pendrive a o computador sem conexão com a internet e instale os pacotes baixados.
Nabeel Ahmed
Um tutorial passo-a-passo para usar Cube (não usei isso mesmo) - community.linuxmint.com/tutorial/view/1583
Nabeel Ahmed
Outra resposta do askubuntu com a instalação passo a passo do Keryx - askubuntu.com/a/181913/58950
Nabeel Ahmed
Eu era capaz de resolver apenas usando sudo apt-get install -fe sudo dpkg --configure -a.. depois de um reboot eu tenho de rede novamente, áudio e assim por diante :)
Lucas
16

Abra sinápticoInstalar sináptico . Em seguida, vá para o status e escolha Quebrado . Em seguida, remova completamente os pacotes quebrados.

Isso deve corrigir seu sistema.

insira a descrição da imagem aqui

Comunidade
fonte
Estou no Ubuntu 12.04. Assim que abri o Synaptics Software Center, ele disse que o catálogo estava quebrado e precisava ser reparado e me ofereceu um botão de reparo, o que esclareceu o problema imediatamente.
Tyler Collier
3

Tente: sudo apt-get update && sudo apt-get -f install
Espero que isso resolva o problema.

Frantique
fonte
2
Não resolveu para mim.
Damien Roche
Como resultado desse problema, também falhei ao carregar drivers de mouse e WLAN. Isso significa que não tenho mais conexão com a Internet e não posso usá-lo sudo apt-get -f install.
precisa saber é o seguinte
1

Se você ainda não é, tente alterar a referência do repositório de pacotes para 'Principal' ou nos Estados Unidos . Isso corrigiu o problema do Python-dev unmet-dependencies (minha instalação do 12.04 estava usando o repositório de pacotes do Reino Unido, anteriormente).

  1. No 'Ubuntu Software Center' (USC), vá para o menu / guia 'Editar => Fontes de Software'.
  2. Altere o valor suspenso 'Baixar de' para 'Servidor principal' ou um servidor nos Estados Unidos.
  3. Deixe o USC, o 'Update Manager' aberto no menu do programa Ubuntu e 'Check' para atualização de software (ou emita 'sudo apt-get update' em uma janela do terminal).
  4. Atualize seu software como faria normalmente, por exemplo, através do 'Update Manager' ou apt-get / aptitude em um terminal.

Isso reparou meu repositório e eu instalei o que precisava depois, como de costume.

Antes de corrigir meu problema com as instruções acima, vários comandos aptitude / apt-get sugeriram que eu removesse muitos pacotes, mas, como você pode apreciar, eu não gostava de perder meus 6 meses + de adições de pacotes, e isso é o mesmo que I instantâneo a lista de pacotes, às vezes (ver a minha essência para sugestões)! Estou muito feliz por ter descoberto as instruções que estou deixando aqui.

Espero que isto ajude.

Big Rich
fonte
1

Teve o mesmo problema, um

sudo apt-get clean

seguido por um

sudo apt-get update

seguido por um

sudo apt-get upgrade -f

consertou. Eu espero que isso ajude!

user152730
fonte
11
Como resultado desse problema, também falhei ao carregar drivers de mouse e WLAN. Isso significa que não tenho mais conexão com a Internet e não posso usá-lo sudo apt-get -f install.
precisa saber é o seguinte