Bug#724854: apt: incorrect warning about unmet dependencies with virtual package
Package: apt Version: 0.9.7.9 Severity: normal 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. faheem@orwell:~$ sudo apt-get install libjpeg62-dev Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libjpeg62 The following packages will be REMOVED: libjpeg8-dev r-base-dev The following NEW packages will be installed: libjpeg62 libjpeg62-dev 0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. Need to get 298 kB of archives. After this operation, 78.8 kB of additional disk space will be used. Do you want to continue [Y/n]? So, we are trying to install package A which depends on virtual package V, which is provides by the installed package V1. However, we are simultaneously trying to install package V2 which also provides V. In a nutshell, sudo apt-get install A V2 is what is giving the error. This odd combination presumably confuses apt, but there is no error here as such. This may be a duplicate of a known problem. I saw a couple of bugs that look kind of similar, but I'm not sure. If so, please merge as appropriate. Thanks. Regards, Faheem -- Package-specific info: -- apt-config dump -- APT ; APT::Architecture amd64; APT::Build-Essential ; APT::Build-Essential:: build-essential; APT::Install-Recommends 1; APT::Install-Suggests 0; APT::Authentication ; APT::Authentication::TrustCDROM true; APT::NeverAutoRemove ; APT::NeverAutoRemove:: ^firmware-linux.*; APT::NeverAutoRemove:: ^linux-firmware$; APT::NeverAutoRemove:: ^linux-image.*; APT::NeverAutoRemove:: ^kfreebsd-image.*; APT::NeverAutoRemove:: ^linux-restricted-modules.*; APT::NeverAutoRemove:: ^linux-ubuntu-modules-.*; APT::NeverAutoRemove:: ^gnumach$; APT::NeverAutoRemove:: ^gnumach-image.*; APT::Never-MarkAuto-Sections ; APT::Never-MarkAuto-Sections:: metapackages; APT::Never-MarkAuto-Sections:: restricted/metapackages; APT::Never-MarkAuto-Sections:: universe/metapackages; APT::Never-MarkAuto-Sections:: multiverse/metapackages; APT::Never-MarkAuto-Sections:: oldlibs; APT::Never-MarkAuto-Sections:: restricted/oldlibs; APT::Never-MarkAuto-Sections:: universe/oldlibs; APT::Never-MarkAuto-Sections:: multiverse/oldlibs; APT::Update ; APT::Update::Post-Invoke-Success ; APT::Update::Post-Invoke-Success:: test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i; APT::Architectures ; APT::Architectures:: amd64; APT::Architectures:: i386; APT::Compressor ; APT::Compressor::. ; APT::Compressor::.::Name .; APT::Compressor::.::Extension ; APT::Compressor::.::Binary ; APT::Compressor::.::Cost 1; APT::Compressor::gzip ; APT::Compressor::gzip::Name gzip; APT::Compressor::gzip::Extension .gz; APT::Compressor::gzip::Binary gzip; APT::Compressor::gzip::Cost 2; APT::Compressor::gzip::CompressArg ; APT::Compressor::gzip::CompressArg:: -9n; APT::Compressor::gzip::UncompressArg ; APT::Compressor::gzip::UncompressArg:: -d; APT::Compressor::bzip2 ; APT::Compressor::bzip2::Name bzip2; APT::Compressor::bzip2::Extension .bz2; APT::Compressor::bzip2::Binary bzip2; APT::Compressor::bzip2::Cost 3; APT::Compressor::bzip2::CompressArg ; APT::Compressor::bzip2::CompressArg:: -9; APT::Compressor::bzip2::UncompressArg ; APT::Compressor::bzip2::UncompressArg:: -d; APT::Compressor::xz ; APT::Compressor::xz::Name xz; APT::Compressor::xz::Extension .xz; APT::Compressor::xz::Binary xz; APT::Compressor::xz::Cost 4; APT::Compressor::xz::CompressArg ; APT::Compressor::xz::CompressArg:: -6; APT::Compressor::xz::UncompressArg ; APT::Compressor::xz::UncompressArg:: -d; APT::Compressor::lzma ; APT::Compressor::lzma::Name lzma; APT::Compressor::lzma::Extension .lzma;
Bug#724854: apt: incorrect warning about unmet dependencies with virtual package
Hi Faheem, On Sat, Sep 28, 2013 at 8:53 PM, Faheem Mitha fah...@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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#724854: apt: incorrect warning about unmet dependencies with virtual package
On Sat, 28 Sep 2013, David Kalnischkies wrote: Hi Faheem, On Sat, Sep 28, 2013 at 8:53 PM, Faheem Mitha fah...@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. You're right, this was in squeeze. (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) Right. Also, libjpeg8-dev conflicts with libjpeg62-dev, so they can't co-exist - your first install request is indeed an impossible situation. Ok, so it wasn't a bug after all. Sorry for the noise. Please close it. Sorry. Regards, Faheem