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

Re: Bug#41091: Apt fails to install some packages



Le Sat, Jul 10, 1999 at 06:18:42PM -0600, Jason Gunthorpe écrivait:
> Well, APT has been designed to do alot of things in a good manner, some
> cases do not go quite as you would like so that other cases behave
> more sensibly. Likely you hare running into some of that.

Yes, it's probable but as I need to run apt automatically on all packages,
when apt fails I need to know why so that I have a chance to try to
correct it.

> Packages that do this are somewhat in violation of policy, they are
> supposed to declare a dependency on a real package so that tools like APT
> and dselect have something they can choose. I remember looking into some
> of these before and deciding there wasn't anything reasonable that could
> be done about them.

As Josip mentionned, it's not yet part of the policy ... but maybe
should it ? If we agree on this, I may propose it to the policy 
group.

> For instance nasm-mode has a depends line like this:
> 
> Depends: xemacs19 | xemacs20
> 
> What's a package manager to do? Basically APT gets upset when it finds or
> groups and purely virtual packages that haven't been explicitly resolved,
> it does not make random choices.

Hey, maybe we could make a random choice ! An option -o 
random_if_not_explicitely could be useful to override those failure ...

Or something more intelligent that could sort the virtual packages on
which it does depend and choose the one that will install the less
packages, or the one with the highest priority, or the one whose
installed-size is the lowest and so on ...

Maybe it doesn't make much sense but it could be enabled by an option.

> This has to do with the wish packages if I remember properly.

Yes :
Starting
Starting 2
Package dotfile has broken dep on wish
  Considering tkstep8.0 0 as a solution to dotfile 1
  Holding Back dotfile rather than change wish
Package dotfile-bash has broken dep on dotfile
  Considering dotfile 1 as a solution to dotfile-bash 9999
    Reinst Failed because of wish
Done

Can you explain me the numbers that we see here ? The 1 and 0 and 9999 ?

But dotfile-bash does not have any virtual dependency, it's only dotfile
who has this virtual dependency. But the install of dotfile doesn't fail :

Starting
Starting 2
Package dotfile has broken dep on wish
  Considering tkstep8.0 0 as a solution to dotfile 9999
  Re-Instated libjpeg62
  Re-Instated libtiff3g
  Re-Instated tcl8.0
  Re-Instated xpm4g
  Re-Instated tkstep8.0
  Considering tkstep4.2 0 as a solution to dotfile 9999
  Re-Instated tcl7.6
  Re-Instated tkstep4.2
  Considering tk8.0 0 as a solution to dotfile 9999
  Re-Instated tk8.0
  Considering tk4.2 0 as a solution to dotfile 9999
  Re-Instated tk4.2
Done

> Run your list with -o debug::pkgproblemresolver=true and see what the
> causes of the failures are, there should be two categories
>   - some types of OR groups
>   - Virtual Packages w/o an OR to declare a default
> 
> The first I might be able to fix up some of them..

For cmucl-clx the problem is similar to the one of dotfile and
dotfile-bash :
apt-get install cmucl-clx tells :
Starting
Starting 2
Package cmucl has broken dep on lisp-core
  Considering cmucl-small 0 as a solution to cmucl 1
  Holding Back cmucl rather than change lisp-core
Package cmucl-clx has broken dep on cmucl
  Considering cmucl 1 as a solution to cmucl-clx 9999
    Reinst Failed because of lisp-core
Done

cmucl depends on lisp-core (without advice), but installing cmucl alone
works :
Starting
Starting 2
Package cmucl has broken dep on lisp-core
  Considering cmucl-small 0 as a solution to cmucl 9999
  Re-Instated cmucl-small
  Considering cmucl-safe 0 as a solution to cmucl 9999
  Re-Instated cmucl-safe
Done

The same for ifcico / ifmail, but the virtual package is
news-transport-sytem now ...

apt-get install ifcico :
Package ifmail has broken dep on news-transport-system
  Considering leafnode 0 as a solution to ifmail 1
  Holding Back ifmail rather than change news-transport-system
Package ifcico has broken dep on ifmail
  Considering ifmail 1 as a solution to ifcico 9998
    Reinst Failed because of news-transport-system

apt-get install ifmail :
Package ifmail has broken dep on news-transport-system
  Considering leafnode 0 as a solution to ifmail 9998
  Re-Instated leafnode
  Considering inn 0 as a solution to ifmail 9998
  Re-Instated inewsinn
  Re-Instated inn
  Considering cnews 0 as a solution to ifmail 9998
  Re-Instated cnews
Package inn has broken dep on news-transport-system
  Considering leafnode 9998 as a solution to inn 9998
  Holding Back inn rather than change news-transport-system
Package cnews has broken dep on inewsinn
  Considering inewsinn 0 as a solution to cnews 9998
Package cnews has broken dep on news-transport-system
  Considering leafnode 9998 as a solution to cnews 9998
  Holding Back cnews rather than change news-transport-system
Done

There's something wrong in all those cases, if apt-get is able to install
the package which does have the virtual dependency, it should also be able
to install the packages which depends on the package that have the virtual
dependency ...

Now let's see if I find other kind of failures ...

Yes there's "a broken or group" in tcpquota :
Starting
Starting 2
Note, a broken or group was found in tcpquota.
Package libdbd-mysql-perl has broken dep on libmysql6
Note, a broken or group was found in tcpquota.
Done
And the depends line look like this :
Depends: perl, libdbi-perl, libnet-perl, libdbd-mysql-perl | libdbd-msql-perl, m
ysql-base | msql

And you must know that all the mysql stuff is broken so that this could be
changed by depends on libdbd-msql-perl and msql. Apt seems to know that
since it does show you :
Sorry, but the following packages have unmet dependencies:
  tcpquota: Depends: libdbd-msql-perl but it is not installed
            Depends: msql but it is not installed

But it fails to install those two package even if they are installable :
$ apt-get install msql libdbd-msql-perl
Reading Package Lists... Done
Building Dependency Tree... Done
Starting
Starting 2
Done
The following extra packages will be installed:
  libdbi-perl libmsql2 
The following NEW packages will be installed:
  msql libdbi-perl libmsql2 libdbd-msql-perl

Strange isn't it ?

One more : fvwmconf :
Starting
Starting 2
Note, a broken or group was found in fvwmconf.
Done
[...]
Sorry, but the following packages have unmet dependencies:
  fvwmconf: Depends: fvwm (>= 2.2) but it is not installed

And the depends line :
Depends: perl-tk, fvwm2 (<< 2.2) | fvwm (>= 2.2)

fvwm2 does no more exist in potato but fvwm does ... and it fails to
install it even if it is perfectly installable :
$ apt-get install fvwm    
Reading Package Lists... Done
Building Dependency Tree... Done
Starting
Starting 2
Done
The following extra packages will be installed:
  xpm4g 
The following NEW packages will be installed:
  fvwm xpm4g

It did not yet find other kind of unnecessary failures.

Cheers,
-- 
Hertzog Raphaël >> 0C4CABF1 >> http://prope.insa-lyon.fr/~rhertzog/


Reply to: