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: