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

Bug#583914: apt: "apt-get build-dep" does not handle "Provides:" correctly



Hi John Lindgren,

First of all: Thanks for your report!

2010/5/31 John Lindgren <john.lindgren@tds.net>:
> I am trying to install the build dependencies for Thunar.  Now, Thunar
> build-depends on libfam-dev, which in turn depends on libfam0.  However,
> I have libgamin0 installed, which replaces, conflicts with, and provides
> libfam0.  So, I will want to install libgamin-dev, which replaces,
> conflicts with, and provides libfam-dev.

The current in unstable doesn't seem to have these dependencies:
$ apt-cache show lib{garmin,fam}{0,-dev} | grep -e 'Package: ' -e
'Version: ' -e 'Replaces: ' -e 'Conflicts: ' -e 'Provides: '
Package: libfam0
Version: 2.7.0-16.1
Replaces: libfam0c102 (<< 2.7.0-16.1)
Provides: libfam0c102
Package: libfam-dev
Version: 2.7.0-16.1
Package: libgarmin-dev
Version: 0~svn320-1
Conflicts: garmin-forerunner-tools (<< 0.10-1)
Package: libgarmin0
Version: 0~svn320-1

So i guess the dependencies are a bit wrong in testing.
libgarmin-dev doesn't seem to really provide libfam-dev
in a way other packages can use (see Build-Conflicts below).

> Actual behavior:
[…]
>        The following packages have unmet dependencies:
>          libfam-dev: Depends: libfam0 (= 2.7.0-16.1)
>        E: Build-dependencies for thunar could not be satisfied.
>
> It would be nice to at least know *why* libfam0 cannot be installed.

Intended it would be nice, it is just very complicated in the
general case. Could you send me your /var/lib/dpkg/status
file for easier reproduction? (You might want to sent it off-list
as the file exposes which packages and which version
you have installed - and you might not want to expose that
to the rest of the world)


> Now, this is what happens after I run "apt-get install libgamin-dev"
> manually:
>
>        $ apt-get build-dep thunar
>        Reading package lists... Done
>        Building dependency tree
>        Reading state information... Done
>        The following packages will be REMOVED:
>          libgamin-dev
>        0 upgraded, 0 newly installed, 1 to remove and 8 not upgraded.
>        After this operation, 168kB disk space will be freed.
>        Do you want to continue [Y/n]? y
>        (Reading database ... 83493 files and directories currently installed.)
>        Removing libgamin-dev ...
>
> I don't get at all why apt-get thinks I want libgamin-dev removed.
> Especially since at this point it doesn't even try to install libfam-dev
> in its place.  In other words, apt-get is now actually *removing* a
> build dependency of Thunar.

But it removes a Build-Conflicts of thunar: libgamin-dev

The problem here is seems to be that it doesn't install libfam-dev instead.
I guess it is still "confused" by the Provides of libgamin-dev at the time
it checks if a libfam-dev package is installed.


Best regards,

David Kalnischkies



Reply to: