[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apt: conflito estranho



Olá Marcos, 

    Obrigado pelo email resposta

On Tue, 22 Feb 2005 21:55:28 -0300, Marcos Vinicius Lazarini
<lazarini@nics.unicamp.br> wrote:
> Rodrigo Baroni wrote:
> >    Estou tentando instalar o gaim da versão instável, mas não sei o
> > por quê que ele quer remover o aspell-pt-br e aspell-pt-common:
> >
> > gnu:/home/baroni# apt-get -o Debug::pkgProblemResolver=yes install
> > gaim -t unstable
> > Lendo Lista de Pacotes... Pronto
> > Construindo Árvore de Dependências... Pronto
> > Starting
> > Starting 2
> > Investigating aspell
> > Package aspell has broken dep on aspell-en
> >   Considering aspell-en 1 as a solution to aspell 1
> >   Re-Instated aspell-en
> >   Re-Instated aspell
> > Done
> > Os pacotes extra a seguir serão instalados:
> >   aspell aspell-en gaim-data libaspell-dev libaspell15 libstartup-notification0
> > Pacotes sugeridos :
> >   gnome-panel kicker evolution-data-server libzephyr3
> > Os pacotes a seguir serão REMOVIDOS:
> >   aspell-pt-br aspell-pt-common
>  > Os pacotes a seguir serão atualizados :
>  >   aspell aspell-en gaim gaim-data libaspell-dev libaspell15
>  > libstartup-notification0
>  > 7 pacotes atualizados, 0 pacotes novos instalados, 2 a serem removidos
>  > e 617 não atualizados.
>
> Vendo aqui na net, o gaim depende do libaspell15 (>= 0.60), que por sua
> vez recomenda o aspell-en ou aspell-dictionary (que é um virutal
> package). Porem, esse comportamento é só do unstable, e se vc já tinha o
> aspell-pt-br do testing, ele pode não ter sido esperto o suficiente pra
> notar isso e dar um upgrade.

  A libaspell15 está atualizada. O gaim está dependendo da libaspell15
>= 0.60 que é da unstable - aí está o problema: (embora dependências
de bibliotecas NUNCA deveria ser um problema segundo o esquema
utilizado em sistemas UNIX:
http://www-106.ibm.com/developerworks/linux/library/l-shlibs.html?ca=dgr-lnxw82SharedLib)

----------------apt-show-versions libaspell15----------------------------
gnu:/home/baroni# apt-show-versions  libaspell15
libaspell15/testing uptodate 0.50.5-5
gnu:/home/baroni# apt-show-versions  -a libaspell15
libaspell15     0.50.5-5        install ok installed
No stable version
libaspell15     0.50.5-5        testing
libaspell15     0.60.2-2        unstable
libaspell15/testing uptodate 0.50.5-5
gnu:/home/baroni# 
----------------------------------------------------------------------------------

    E se eu mando instalar ela, ela tenta (também!) remover o aspell-pt-br:

-----------------apt-get install -t unstable libaspell15 ------------------
gnu:/home/baroni# apt-get install -t unstable libaspell15
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências... Pronto
Os pacotes extra a seguir serão instalados:
  libaspell-dev
Os pacotes a seguir serão REMOVIDOS:
  aspell aspell-en aspell-pt-br aspell-pt-common sgml-spell-checker
Os pacotes a seguir serão atualizados :
  libaspell-dev libaspell15
2 pacotes atualizados, 0 pacotes novos instalados, 5 a serem removidos
e 671 não atualizados.
É preciso fazer o download de 688kB de arquivos.
Depois de desempacotar, 16,2MB de espaço em disco serão liberados.
Quer continuar? [S/n]
------------------------------------------------------------------------------------

  E vendo as dependencias dela não há o porquê de ela querer remover o
aspell-pt-br:

-------------------apt-cache show libaspell15-------------------------------
gnu:/home/baroni# apt-cache show libaspell15 (da unstable)
[...]
Version: 0.60.2-2
Replaces: libaspell0, libaspell1, libaspell2, libaspell3, libaspell4,
libaspell5, libaspell6, libaspell8, libaspell10, libas
pell11, libpspell2, libpspell4, libpspell15, aspell-bin (<< 0.50.3-4),
aspell-bg (<= 3.0-1)
Provides: libaspell11
Depends: libc6 (>= 2.3.2.ds1-4), libgcc1 (>= 1:3.4.1-3), libstdc++5
(>= 1:3.3.4-1)
Recommends: aspell-en | aspell6-dictionary
Suggests: aspell-bin
Conflicts: libaspell0, libaspell1, libaspell2, libaspell3, libaspell4,
libaspell5, libaspell6, libaspell8, libaspell10, libaspell11,
libpspell2, libpspell4, libpspell4c102, aspell-en (<< 0.50), aspell-da
(<= 1.4.22-2.3), aspell-de (<= 0.1-3-3), aspell-es (<= 0.0-3-3),
aspell-fo (<= 0.1.16-2.3), aspell-fr (<= 0.1-3-4), aspell-nl (<=
1:0.1e-26), aspell-no (<= 2.0-9), aspell-pt (<= 0.0-3-4), aspell-bg
(<= 2.0-2.2), aspell-dictionary
------------------------------------------------------------------------

  As dependências estão ok:

------------Verificando as versões das dependências------
gnu:/home/baroni# apt-show-versions libc6
libc6/testing uptodate 2.3.2.ds1-20
gnu:/home/baroni# apt-show-versions libgcc1
libgcc1/testing uptodate 1:3.4.3-6
gnu:/home/baroni# apt-show-versions libstdc++5
libstdc++5/testing upgradeable from 1:3.3.5-5 to 1:3.3.5-8
gnu:/home/baroni#
------------------------------------------------------------------------

  Os conflitos também - nenhum pacote pertencente as versões que
possuem  conflito:

--------------------dpkg -l | grep aspell---------------------------
gnu:/home/baroni# dpkg -l | grep aspell
ii  aspell         0.60.2-2       GNU Aspell spell-checker
ii  aspell-bin     0.50.5-5       GNU Aspell standalone spell-check utilities
ii  aspell-doc     0.50.5-5       Documentation for GNU Aspell spell-checker
ii  aspell-en      0.51-1-1       English dictionary for GNU Aspell
ii  aspell-pt-br   2.4.really.3.0 The Brazilian Portuguese dictionary for GNU 
ii  aspell-pt-comm 0.50-2-3       The Portuguese dictionary for GNU Aspell (co
ii  libaspell-dev  0.50.5-5       Development files for applications with GNU 
ii  libaspell15    0.50.5-5       The GNU Aspell spell-checker runtime toolkit
gnu:/home/baroni#
------------------------------------------------------------

  .. com exceção do meta pacote aspell-dictionary  que está na lista
de conflitos, e que o aspell-pt-br pertence:

-----verificando os pacotes pertencentes ao meta pacote aspell-dicionary---
gnu:/home/baroni# apt-get install aspell-dictionary 
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências... Pronto
O pacote aspell-dictionary é um pacote virtual provido por:
[...]
  aspell-pt-br 2.4.really.3.0.beta4-7
[...]
Você deve selecionar um explicitamente para instalar.
E: O pacote aspell-dictionary não tem candidato para instalação
gnu:/home/baroni# 
----------------------------------------------------------

 Será se esse é o problema? Se sim, por quê esse conflito, sendo que a
versão testing trabalha com ele normalmente e que se eu forço a
instalação do libaspell15 > 0.60 (que será instalada como dependência
do gaim) junto com a aspell-pt-br da unstable ele procede normalmente
como eu disse:

> >   Mas então quando eu mando instalar o (já instalado e atualizado)
> > aspell-pt-br e aspell-pt-common ele processe normalmente:
> >
> > ----------Executando apt-get install gaim aspell-pt-br,
> > aspell-pt-common--------------
> > gnu:/home/baroni# apt-get -o Debug::pkgProblemResolver=yes install
> > gaim aspell-pt-br aspell-pt-common  -t unstable
> 
> Aqui deve estar o problema: vc disse explicitamente pra pegar do
> unstable - e se vc colocar como testing? será q ele vai dar conflito com
> alguma coisa? Nesse caso, acho que a sequencia q vc fez na instalação
> foi importante...

    Tentei então seguindo a sugestão do Marcos instalar a versão
testing do gaim, e... as dependências estão quebradas! :

----------apt-get install gaim (-t testing não precisa já que testing
é a de maior prioridade em /etc/apt/preferences)----------
gnu:/home/baroni# apt-get install gaim
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências... Pronto
Alguns pacotes não puderam ser instalados. Isso pode significar que
você solicitou uma situação impossível ou se você está usando a
distribuição instável, que alguns pacotes requeridos não foram 
criados ainda ou foram tirados do Incoming.

Já que você solicitou uma única operação é bem provável que o pacote
esteja simplesmente não instalável e um relato de erro sobre esse
pacotes deve ser enviado.
A informação a seguir pode ajudar a resolver a situação:

Os pacotes a seguir têm dependências desencontradas:
  gaim: Depende: libaspell15 (>= 0.60) mas 0.50.5-5 está para ser instalado
E: Pacotes quebrados
-----------------------------------------------------------------------------------


> [...]
> >    Embora agora tente remover o aspell-en. Se coloco para instalar ele
> > também ele prossegue normalmente sem remover então nenhum pacote.
> > Alguém sabe o por quê que ele está insistindo em remover o
> > aspell-pt-{br,common} ?
> 
> Bom, as minhas sugestões estão acima... veja se estou enganado, e depois
> mande a sua posição para a lista! :-)

   Fiz isso Marcos, novamente obrigado pela atenção nesse problema que
começa a parecer um bug no dpkg/apt... Alguém tem alguma idéia?

> >    Estou usando um Debian Sarge como principal mas com acréscimo de
> > pacotes stable e unstable:
> >
> > ---------------Conteúdo do
> > /etc/apt/preferences-------------------------------------------
> > gnu:/home/baroni# cat /etc/apt/preferences
> > Package: *
> > Pin: release a=stable
> > Pin-Priority: 600
> >
> > Package: *
> > Pin: release a=testing
> > Pin-Priority: 900
> >
> > Package: *
> > Pin: release a=unstable
> > Pin-Priority: 800
> >
> > gnu:/home/baroni#
> > --------------------------------------------------------------------------------------------
> >
> >     Essas configurações de prioridade indicam para instalar sempre
> > pacotes da testing quando não indicado explicitamente qual tipo e
> > instalar pacotes unstable ou stable quando indicado com -t
> > testing|stable.
> 
> Eu nunca consegui usar direito os tres repositórios ao mesmo tempo;
> sempre fiquei com stable/testing e testing/unstable. Esse negócio de pin
> sempre me deu dor de cabeça e nao funcionava direito. Acabei criando um
> apt.conf com a diretiva 'APT::Default-Release "stable";' e uso dois
> repositórios apenas no sources.list.

-------Segundo as explicações de man 5 apt_preferences:------------
 500 < P <=990 : faz  com  que  uma  versão  seja  instalada a menos
que exista uma versão disponível pertencente a versão alvo ou a versão
instalada seja mais recente.
---------------------------------------------------------------------------------------

      Então utilizando o /etc/apt/preferences com prioridades nessa
faixa de valores (conforme eu postei - com a prioridade maior nessa
ordem: testing, unstable e stable), quaisquer dos comandos a seguir
farão com que o APT atualize para a(s) última(s) versão(ões) testing.

       apt‐get install nome‐pacote
       apt‐get upgrade
       apt‐get dist‐upgrade

      E para instalar uma versão específica da unstable ou stable (e
atualizar o pacote - caso ele já esteja instalado em uma destas
versões)

       apt‐get install pacote/unstable (ou pacote/stable)

     Com o comando apt‐get upgrade atualizando o pacote para a versão
testing mais recente caso essa  versão seja  mais  recente  que  a
versão instalada. Caso não seja, o pacote será atualizado para a
versão unstable mais recente caso a mesma seja mais recente que a
versão instalada.

      Ou seja, se você ficar um bom tempo sem atualizar um pacote da
unstable de modo que a versão dele vá para a testing, quando vc fizer
um "apt-get upgrade" ele irá então acompanhar o  pacote na versão
testing.

Agora quanto ao conflito, ainda não sei o que se passa :(. Idéias?

Rodrigo Ferreira Baroni



Reply to: