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

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: