Bug#724854: apt: incorrect warning about unmet dependencies with virtual package
Hi Faheem,
On Sat, Sep 28, 2013 at 8:53 PM, Faheem Mitha <faheem@faheem.info> wrote:
> On wheezy amd64, I'm getting:
>
> faheem@orwell:~$ sudo apt-get install libjpeg62-dev libtiff4-dev
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
> libtiff4-dev : Depends: libjpeg-dev
> E: Unable to correct problems, you have held broken packages.
>
> It is fairly obvious what the problem is.
>
> libtiff4-dev depends on the virtual package libjpeg-dev, which is
> currently provided by the installed libjpeg8-dev.
>
> faheem@orwell:~$ sudo apt-get install libjpeg-dev
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> Note, selecting 'libjpeg8-dev' instead of 'libjpeg-dev'
> libjpeg8-dev is already the newest version.
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
>
> However, libjpeg62-dev also provides libjpeg-dev. When installing
> libjpeg62-dev, libjpeg8-dev is removed.
Sorry, but you lost me here.
apt-cache show libjpeg62-dev/stable libjpeg8-dev/stable | grep -e
'^Package:' -e 'Provides:'
Package: libjpeg62-dev
Package: libjpeg8-dev
Provides: libjpeg-dev
So, libjpeg62-dev isn't providing libjpeg-dev in stable – and also not
in testing or unstable.
(It is also why apt-get is automatically deciding that you mean libjpeg8-dev
as it is the only provider, if there would be more, you would need to choose)
Also, libjpeg8-dev conflicts with libjpeg62-dev, so they can't co-exist
-> your first install request is indeed an impossible situation.
Best regards
David Kalnischkies
Reply to: