problems upgrading stable libc6 to unstable libc6
Hello,
when I tried to upgrade libc6 with apt-get 0.5.3, I encountered a
number of problems. As I am not sure what packages are at fault, I
will post here, as maybe some other debian developers can comment.
I think resolving these problems is very important if the freeze is to
take place any time soon...
First attempt, 3 packages failed:
snoopy:unstable:/home/bam/tmp# apt-get install libc6 -t unstable
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
binutils cpp cpp-2.95 g++ g++-2.95 gcc gcc-2.95 libc6-dev libdb2 libdb2-dev
libdb2-util libstdc++2.10-dev libstdc++2.10-glibc2.2 locales
The following NEW packages will be installed:
cpp-2.95 g++-2.95 gcc-2.95 libstdc++2.10-glibc2.2
11 packages upgraded, 4 newly installed, 0 to remove and 625 not upgraded.
Need to get 0B/12.7MB of archives. After unpacking 5809kB will be freed.
Do you want to continue? [Y/n]
(Reading database ... 80065 files and directories currently installed.)
Preparing to replace libdb2-dev 2:2.4.14-2.7.7.1.c (using .../libdb2-dev_2%3a2.7.7-7_i386.deb) ...
Unpacking replacement libdb2-dev ...
dpkg: error processing /var/cache/apt/archives/libdb2-dev_2%3a2.7.7-7_i386.deb (--unpack):
trying to overwrite `/usr/include/db_185.h', which is also in package libc6-devPreparing to replace libdb2-util 2:2.4.14-2.7.7.1.c (using .../libdb2-util_2%3a2.7.7-7_i386.deb) ...
Unpacking replacement libdb2-util ...
Preparing to replace libdb2 2:2.4.14-2.7.7.1.c (using .../libdb2_2%3a2.7.7-7_i386.deb) ...
Unpacking replacement libdb2 ...
Replacing files in old package libc6 ...
Preparing to replace locales 2.1.3-18 (using .../locales_2.2.2-4_all.deb) ...
Unpacking replacement locales ...
Selecting previously deselected package libstdc++2.10-glibc2.2.
Unpacking libstdc++2.10-glibc2.2 (from .../libstdc++2.10-glibc2.2_1%3a2.95.4-0.010407_i386.deb) ...
Preparing to replace g++ 1:2.95.2-13 (using .../g++_1%3a2.95.3-7_i386.deb) ...
Unpacking replacement g++ ...
Preparing to replace gcc 1:2.95.2-13 (using .../gcc_1%3a2.95.3-7_i386.deb) ...
Removing old gcc doc directory.
Unpacking replacement gcc ...
Preparing to replace cpp 1:2.95.2-13 (using .../cpp_1%3a2.95.3-7_i386.deb) ...
Unpacking replacement cpp ...
Selecting previously deselected package cpp-2.95.
Unpacking cpp-2.95 (from .../cpp-2.95_1%3a2.95.4-0.010407_i386.deb) ...
Preparing to replace binutils 2.9.5.0.37-1 (using .../binutils_2.11.90.0.5-1_i386.deb) ...
Unpacking replacement binutils ...
Selecting previously deselected package gcc-2.95.
Unpacking gcc-2.95 (from .../gcc-2.95_1%3a2.95.4-0.010407_i386.deb) ...
Selecting previously deselected package g++-2.95.
Unpacking g++-2.95 (from .../g++-2.95_1%3a2.95.4-0.010407_i386.deb) ...
Preparing to replace libstdc++2.10-dev 1:2.95.2-13 (using .../libstdc++2.10-dev_1%3a2.95.4-0.010407_i386.deb) ...
/usr/bin/perl: /lib/libc.so.6: version `GLIBC_2.2' not found (required by /lib/libdb.so.3)
dpkg: warning - old pre-removal script returned error exit status 1
dpkg - trying script from the new package instead ...
/usr/bin/perl: /lib/libc.so.6: version `GLIBC_2.2' not found (required by /lib/libdb.so.3)
dpkg: error processing /var/cache/apt/archives/libstdc++2.10-dev_1%3a2.95.4-0.010407_i386.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
dpkg: regarding .../libc6-dev_2.2.2-4_i386.deb containing libc6-dev:
libc6-dev conflicts with libstdc++2.10-dev (<< 1:2.95.2-15)
libstdc++2.10-dev (version 1:2.95.2-13) is installed.
dpkg: error processing /var/cache/apt/archives/libc6-dev_2.2.2-4_i386.deb (--unpack):
conflicting packages - not installing libc6-dev
Preparing to replace libc6 2.1.3-18 (using .../libc6_2.2.2-4_i386.deb) ...
Unpacking replacement libc6 ...
Replacing files in old package ldso ...
Errors were encountered while processing:
/var/cache/apt/archives/libdb2-dev_2%3a2.7.7-7_i386.deb
/var/cache/apt/archives/libstdc++2.10-dev_1%3a2.95.4-0.010407_i386.deb
/var/cache/apt/archives/libc6-dev_2.2.2-4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
(I filled a bug report against libdb2-dev about the file conflict).
I tend to think libc6 should really have been unpacked before
libstdc++2.10-dev. Shouldn't libstdc++2.10 be unpacked somewhere here?
next several attempts: apt got confused and didn't know how to fix the
damage:
snoopy:unstable:/home/bam/tmp# apt-get install libc6-dev -t unstable
Reading Package Lists... Done
Building Dependency Tree... Done
You might want to run `apt-get -f install' to correct these:
Sorry, but the following packages have unmet dependencies:
g++-2.95: Depends: libstdc++2.10-dev (>= 1:2.95.4) but 1:2.95.2-13 is to be installed
libc6-dev: Conflicts: libstdc++2.10-dev (< 1:2.95.2-15) but 1:2.95.2-13 is to be installed
libdb2-dev: Depends: libdb2 (= 2:2.4.14-2.7.7.1.c) but 2:2.7.7-7 is to be installed
Depends: libdb2-util (= 2:2.4.14-2.7.7.1.c) but 2:2.7.7-7 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
snoopy:unstable:/home/bam/tmp# apt-get -f install
Reading Package Lists... Done
Building Dependency Tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
liborbit-mt0
The following packages will be REMOVED:
build-essential g++ g++-2.95 g-wrap gdk-imlib-dev glutg3-dev imlib-dev
libc6-dev libdb2-dev libgdbmg1-dev libgnome-dev libgnome-pilot-dev
libgnorba-dev libgtk1.2-dev libgtkxmhtml-dev libgwrapguile-dev libhsync-dev
libiodbc2-dev libjpeg62-dev libncurses5-dev liborbitcpp-dev libpam0g-dev
libpng2-dev libpopt-dev libreadline4-dev librep-dev libsasl-dev libsdsi-dev
libstdc++2.10-dev libtiff3g-dev libtool libungif3g-dev libwrap0-dev
libxml2-dev libxmltok1-dev libzvt-dev mesag-dev plib-dev task-c-dev
task-debian-devel xlib6g-dev xpm4g-dev zlib1g-dev
The following NEW packages will be installed:
liborbit-mt0
The following held packages will be changed:
libhsync-dev libsasl-dev
0 packages upgraded, 1 newly installed, 43 to remove and 46 not upgraded.
12 packages not fully installed or removed.
Need to get 105kB of archives. After unpacking 69.8MB will be freed.
(but I deliberately put libhsync-dev and libsasl-dev on hold, because
libhsync and libsasl are compiled against stable... Anyway, these
didn't need to be changed before.).
So I manually invoked dpkg:
snoopy:unstable:~# dpkg --configure --pending
dpkg: dependency problems prevent configuration of libstdc++2.10-dev:
libstdc++2.10-dev depends on libc6-dev (>= 2.1.95); however:
Version of libc6-dev on system is 2.1.3-18.
dpkg: error processing libstdc++2.10-dev (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of g++-2.95:
g++-2.95 depends on libstdc++2.10-dev (>= 1:2.95.4); however:
Package libstdc++2.10-dev is not configured yet.
dpkg: error processing g++-2.95 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of g++:
g++ depends on g++-2.95; however:
Package g++-2.95 is not configured yet.
dpkg: error processing g++ (--configure):
dependency problems - leaving unconfigured
Setting up cpp (2.95.3-7) ...
Setting up libc6 (2.2.2-4) ...
Checking for services that may need to be restarted...done.
Name Service Switch has changed in the C Library.
Running programs may not be able to do NSS lookups until they are
restarted (for services such as ssh, this can affect your ability to
login).
Note: restarting sshd should not affect any existing connections.
The services detected are: inetd lprng slapd cron apache ssh
If other services begin to fail mysteriously after this upgrade,
it may be necessary to restart them too.
Do you wish to Restart Services? [Y/n] y
Restarting services possibly affected by the upgrade:
inetd: stopping...starting...done.
lprng: stopping...starting...FAILED! (35)
slapd: stopping...starting...done.
cron: stopping...starting...done.
apache: stopping...starting...done.
ssh: stopping...starting...done.
The following services failed to start: lprng
You will need to start these manually by running `/etc/init.d/<service> start'
If the service still fails to start, you may need to file a bug on
libc6 or the service involved.
Press ENTER to continue:
Current default timezone: 'Australia/Melbourne'.
Local time is now: Wed Apr 25 12:48:08 EST 2001.
Universal Time is now: Wed Apr 25 02:48:08 UTC 2001.
Run 'tzconfig' if you wish to change it.
Setting up binutils (2.11.90.0.5-1) ...
Setting up locales (2.2.2-4) ...
Installing new version of config file /etc/locale.alias ...
WARNING: The locales package no longer supplies precompiled versions of
the locale definitions. Instead, you must uncomment the definitions you
want in /etc/locale.gen, and run the `locale-gen' program as root. Each
time the locales package is upgraded, these definitions will automatically
be regenerated. If you wish, you can type ^Z (CTRL+Z) now to background
this install, edit /etc/locale.gen, and type `fg' when done, so that
locales will be generated now.
NOTE: If you do not generate locales, you will not be able to properly see
8bit character sets.
Press [ENTER] to continue:
Generating locales...
en_US.ISO-8859-1... done
Generation complete.
Setting up libdb2 (2.7.7-7) ...
Setting up libstdc++2.10-glibc2.2 (2.95.4-0.010407) ...
Setting up cpp-2.95 (2.95.4-0.010407) ...
Setting up libdb2-util (2.7.7-7) ...
Setting up gcc (2.95.3-7) ...
Setting up gcc-2.95 (2.95.4-0.010407) ...
Errors were encountered while processing:
libstdc++2.10-dev
g++-2.95
g++
looking better. Still now sure why lprng is broken, will investigate latter:
snoopy:unstable:~# /etc/init.d/lprng stop
Stopping printer spooler: lprng.
snoopy:unstable:~# /etc/init.d/lprng start
Starting printer spooler: snoopy:unstable:~#
Now to solve these problems:
snoopy:unstable:~# dpkg --configure --pending
dpkg: dependency problems prevent configuration of libstdc++2.10-dev:
libstdc++2.10-dev depends on libc6-dev (>= 2.1.95); however:
Version of libc6-dev on system is 2.1.3-18.
dpkg: error processing libstdc++2.10-dev (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of g++-2.95:
g++-2.95 depends on libstdc++2.10-dev (>= 1:2.95.4); however:
Package libstdc++2.10-dev is not configured yet.
dpkg: error processing g++-2.95 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of g++:
g++ depends on g++-2.95; however:
Package g++-2.95 is not configured yet.
dpkg: error processing g++ (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libstdc++2.10-dev
g++-2.95
g++
snoopy:unstable:~# dpkg -i /var/cache/apt/archives/libc6-dev_2.2.2-4_i386.deb
(Reading database ... 80022 files and directories currently installed.)
Preparing to replace libc6-dev 2.1.3-18 (using .../libc6-dev_2.2.2-4_i386.deb) ...
Unpacking replacement libc6-dev ...
Setting up libc6-dev (2.2.2-4) ...
looks much better:
snoopy:unstable:~# dpkg --configure --pending
Setting up g++-2.95 (2.95.4-0.010407) ...
Setting up libstdc++2.10-dev (2.95.4-0.010407) ...
Setting up g++ (2.95.3-7) ...
My guess is that lprng in stable is broken, and I have to upgrade to
unstable to get it working:
snoopy:unstable:~# lpd -D10 -F
2001-04-25-13:01:39 [7636] lpd Initialize: starting
2001-04-25-13:01:39 [7636] lpd Initialize: /dev/null fd 3
2001-04-25-13:01:39 [7636] lpd initsetproctitle: doing setup
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 76, addr 0x80a3bd8, file './common/proctitle.c', line 251
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 10, addr 0x80a3c28, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 7, addr 0x80a3c38, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 16, addr 0x80a3c48, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 22, addr 0x80a3c60, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 10, addr 0x80a3c80, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 27, addr 0x80a3c90, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 26, addr 0x80a3cb0, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 22, addr 0x80a3cd0, file './common/proctitle.c', line 253
2001-04-25-13:01:39 [7636] lpd malloc_or_die: size 7, addr 0x80a3cf0, file './common/proctitle.c', line 253
Segmentation fault
Not sure about slapd. Perhaps it needs recompiling for unstable too?
Apr 25 13:00:44 snoopy slapd[7624]: ldbm: ==> environment not created using DB_THREAD
[...]
Apr 25 13:01:01 snoopy slapd[7625]: ldbm: ==> DB_DUPSORT requires DB_DUP
what does that mean?
Anyway, not an urgent problem (I have a stable chroot which I can run
slapd from for now), but am curious what the proper fix is.
Now apt-get is happy:
snoopy:unstable:/home/bam/tmp# apt-get -f install -t unstable
Reading Package Lists... Done
Building Dependency Tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
libdb2-dev
1 packages upgraded, 0 newly installed, 0 to remove and 625 not upgraded.
Need to get 0B/190kB of archives. After unpacking 2130kB will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 80185 files and directories currently installed.)
Preparing to replace libdb2-dev 2:2.4.14-2.7.7.1.c (using .../libdb2-dev_2%3a2.7.7-7_i386.deb) ...
Unpacking replacement libdb2-dev ...
Setting up libdb2-dev (2.7.7-7) ...
Any comments?
--
Brian May <bam@debian.org>
Reply to: