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

Re: Re: libc6 upgrade lenny to squeeze failed, now dpkg is broken



Hi,

> On 2010-05-11 22:11 +0200, Chris Austin wrote:

>> I was required to upgrade libc6 from lenny to squeeze in order to meet
>> dependencies to install a package from unstable, but the libc6 upgrade
>> failed because libc-bin was not installed.

> How could this happen, given that libc6 depends on libc-bin?

I was using KPackage, which I thought is a package manager like aptitude or
synaptic.  I need to try to keep up with the latest release of Cadabra, which
is now on the Debian website in Sid.  I tried to install the latest release
straight from Sid, using Konqueror.  Konqueror gives an option to open with
KPackage, which I always select.  Then attempting the install gives a list of
dependency problems, so I tried upgrading to Squeeze versions where
necessary, always using Konqueror and KPackage.  This worked fine until I got
to libc6, and apparently the lenny libc6 was uninstalled, then the squeeze
upgrade was going to be installed, but the installation failed because libc-bin
was not installed.  Normally one would then just install libc-bin, but in this
case, with Lenny libc6 uninstalled, and Squeeze libc6 installation failed, the
result was that dpkg was broken.  However I've now fixed the problem, as
reported in another message.

I guess the answer to this is that for system-critical packages, one should
first do a "dry run" in KPackage, by clicking the "Test (do not install)"
checkbox.  But it would be really helpful if there was a list somewhere of
the system-critical packages for which one needs to do this, to save having
to do a dry run for every new package.

I once made such a list for Etch, by searching for all the Essential and
Required packages in the Etch Packages.gz.  The list of the 61 Required
packages for Etch, which I believe includes the 24 Essential packages at its
start, is:

tzdata libc6 bsdutils diff findutils grep hostname mktemp perl-base sed tar
base-passwd mawk base-files libsepol1 libselinux1 sysvinit-utils libattr1
libacl1 coreutils debianutils dpkg gzip libncurses5 ncurses-base ncurses-bin
bash libdevmapper1.02 libblkid1 libuuid1 mount e2fslibs libcomerr2 libss2
e2fsprogs sysv-rc lsb-base initscripts sysvinit libslang2 zlib1g util-linux
libpam-runtime libpam0g libcap1 libdb4.3 libpam-modules login makedev passwd
procps gcc-4.1-base libgcc1 libstdc++6 dselect liblocale-gettext-perl
libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl debconf-i18n
debconf

I have been referring to this old list while doing Lenny to Squeeze upgrades
today.  It would be really helpful if there were lists like this for Lenny and
Squeeze somewhere on debian.org.  Besides, it's nice to know what the Essential
and Required packages are!

I've learned today that when there are circular conflicts while upgrading, e.g.
libcairo2 has to be upgraded to install xulrunner-1.9.1, but upgrading
libcairo2 breaks xulrunner-1.9, it helps to use the dpkg --auto-deconfigure
option before the -i action-parameter, e.g.

dpkg --auto-deconfigure -i libcairo2_1.8.10-4_i386.deb

Then dpkg gives a nice message about considering deconfiguration of
xulrunner-1.9, then decides to do it, and it works, or at least, it has done,
the two or three times I have tried it today.

Best regards,
Chris Austin.


Reply to: