Bug#254691: /usr/bin/apt-get: apt-get thinks of multiple versions of a package as multiple providing packages
Package: apt
Version: 0.5.25
Severity: normal
File: /usr/bin/apt-get
Hi,
for some time now I wondered why I get the following message from
% sudo apt-get install libreadline-dev
Reading Package Lists... Done
Building Dependency Tree... Done
Package libreadline-dev is a virtual package provided by:
libreadline4-dev 4.3-11
You should explicitly select one to install.
E: Package libreadline-dev has no installation candidate
Looking into the code it seems that it should select libreadline4-dev
automatically if its the only option. So I looked deeper and saw that
the loop that prints out the alternatives will skip some packages:
if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer())
If I comment this I get the following output:
% sudo apt-get install libreadline-dev
Reading Package Lists... Done
Building Dependency Tree... Done
Package libreadline-dev is a virtual package provided by:
libreadline4-dev 4.3-11
libreadline4-dev 4.3-10
You should explicitly select one to install.
E: Package libreadline-dev has no installation candidate
It seems apt-get finds more than one version of libreadline4-dev
(which is true) and considers them as multiple alternatives for a
provides (in the sense that it doesn't pick the only providing
package).
MfG
Goswin
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.5-amd64
Locale: LANG=C, LC_CTYPE=de_DE
Versions of packages apt depends on:
ii libc6 2.3.2.ds1-11 GNU C Library: Shared libraries an
ii libgcc1 1:3.3.3-6 GCC support library
ii libstdc++5 1:3.3.3-6 The GNU Standard C++ Library v3
-- no debconf information
Reply to: