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

problems in upgrade



So I upgraded my main server from potato to woody this morning.

The following problems occurred, that I've noticed so far:

1) The sawmill capplet totally breaks.  The one in sid (now named
   sawfish) works fine if you also install gnome1.4.  Why exactly are
   gnome1.4 and (now) sawfish not in woody?  

2) At least three pairs of packages had a file move from one package to
   the other; in both cases, the package gaining the file failed to
   declare a version conflict against older versions of the donating
   package.  If you are unlucky in the order apt will choose for this
   situation, you will get conflicts and have to resolve them by
   hand.  The cases I noticed were:
        esound v. esound-common
        gnomehelp v. gnomehelp-data
        eeyes v. gnome-panel-data

3) There's a straightforward undeclared conflict between gnotepad+ and
   gnotepad+-help; again, it looks like someone forgot to delete a
   file.

4) The realplayer installer doesn't work at all.

And the big daddie horrid prize:

5) Perl upgrade blows chunks.  Here's what I did (note that this
   whopping lose happened first, before the items above):

a) Repoint servers.list to woody
b) apt-get update
c) apt-get upgrade

So far so good, a bajillion packages downloaded and configured without
a hitch.  Yeah Debian!  Then there's even more packages on hold.  One
of them is the perl upgrade from perl-5.004 -> perl-5.005.  Knowing
that package maintainers often have foolish undeclared version
dependencies on perl, I elect to install that first of the many held
packages.  So the next step is:

d) apt-get install perl

Apt then proceeds to do the following:

The following extra packages will be installed:
  binutils cpp cpp-2.95 g++ g++-2.95 g77 g77-2.95 gcc gcc-2.95 libc6 libc6-dbg
  libc6-dev libc6-pic libdb2 libdb2++ libdb2-util libperl5.6 libstdc++2.10-dev
  libstdc++2.10-glibc2.2 locales perl-5.005 perl-5.005-base perl-5.005-suid
  perl-base perl-modules perl-suid zh-trans 
The following packages will be REMOVED:
  locale-zh perl-5.004-base task-chinese-s 
The following NEW packages will be installed:
  cpp-2.95 g++-2.95 g77-2.95 gcc-2.95 libperl5.6 libstdc++2.10-glibc2.2 perl
  perl-modules perl-suid 

Ok, so far so good, off we run.  They download, and then the following
occurs:

Removing task-chinese-s ...
Selecting previously deselected package libstdc++2.10-glibc2.2.
(Reading database ... 98892 files and directories currently installed.)
Unpacking libstdc++2.10-glibc2.2 (from .../libstdc++2.10-glibc2.2_1%3a2.95.4-0.010424_i386.deb) ...
Preparing to replace libdb2++ 2:2.4.14-2.7.7.1.c (using .../libdb2++_2%3a2.7.7-8_i386.deb) ...
Unpacking replacement libdb2++ ...
Preparing to replace libdb2-util 2:2.4.14-2.7.7.1.c (using .../libdb2-util_2%3a2.7.7-8_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-8_i386.deb) ...
Unpacking replacement libdb2 ...
Replacing files in old package libc6 ...
Preparing to replace g77 1:2.95.2-13 (using .../g77_1%3a2.95.3-7_i386.deb) ...
Unpacking replacement g77 ...
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.010424_i386.deb) ...
Selecting previously deselected package g77-2.95.
Unpacking g77-2.95 (from .../g77-2.95_1%3a2.95.4-0.010424_i386.deb) ...
Preparing to replace binutils 2.9.5.0.37-1 (using .../binutils_2.11.90.0.7-2_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.010424_i386.deb) ...
Selecting previously deselected package g++-2.95.
Unpacking g++-2.95 (from .../g++-2.95_1%3a2.95.4-0.010424_i386.deb) ...
Preparing to replace libstdc++2.10-dev 1:2.95.2-13 (using .../libstdc++2.10-dev_1%3a2.95.4-0.010424_i386.deb) ...
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 ...
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.010424_i386.deb (--unpack):
 subprocess new pre-removal script returned error exit status 1
dpkg: regarding .../libc6-dev_2.2.3-5_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.3-5_i386.deb (--unpack):
 conflicting packages - not installing libc6-dev
Preparing to replace libc6-dbg 2.1.3-18 (using .../libc6-dbg_2.2.3-5_i386.deb) ...
Unpacking replacement libc6-dbg ...
Preparing to replace libc6-pic 2.1.3-18 (using .../libc6-pic_2.2.3-5_i386.deb) ...
Unpacking replacement libc6-pic ...
Preparing to replace locales 2.1.3-18 (using .../locales_2.2.3-5_all.deb) ...
Unpacking replacement locales ...
Preparing to replace zh-trans 0.8.1-2 (using .../zh-trans_0.8.1-3_all.deb) ...
Unpacking replacement zh-trans ...
Errors were encountered while processing:
 /var/cache/apt/archives/libstdc++2.10-dev_1%3a2.95.4-0.010424_i386.deb
 /var/cache/apt/archives/libc6-dev_2.2.3-5_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Note the actual error above.  I'll repeat it for those who skipped by:

  perl: /lib/libc.so.6: version `GLIBC_2.2' not found (required by /lib/libdb.so.3)

Ok, so I try the same trick again, but now I have incompatible
versions, and apt reports:

Sorry, but the following packages have unmet dependencies:
  binutils: Depends: libc6 (>= 2.2.3-1) but 2.1.3-18 is to be installed
  cpp-2.95: Depends: libc6 (>= 2.2.2-2) but 2.1.3-18 is to be installed
  g++-2.95: Depends: libc6 (>= 2.2.2-2) but 2.1.3-18 is to be installed
            Depends: libstdc++2.10-dev (>= 1:2.95.4) but 1:2.95.2-13 is to be installed
  g77-2.95: Depends: libc6 (>= 2.2.2-2) but 2.1.3-18 is to be installed
  gcc-2.95: Depends: libc6 (>= 2.2.2-2) but 2.1.3-18 is to be installed
  libc6-dbg: Depends: libc6 (= 2.2.3-5) but 2.1.3-18 is to be installed
  libc6-pic: Depends: libc6 (= 2.2.3-5) but 2.1.3-18 is to be installed
  libdb2: Depends: libc6 (>= 2.2.3-1) but 2.1.3-18 is to be installed
  libdb2++: Depends: libc6 (>= 2.2.3-1) but 2.1.3-18 is to be installed
  libdb2-util: Depends: libc6 (>= 2.2.3-1) but 2.1.3-18 is to be installed
  libstdc++2.10-glibc2.2: Depends: libc6 (>= 2.2.2-2) but 2.1.3-18 is to be installed
  locales: Depends: glibc2.2
  perl: Depends: perl-base (= 5.6.0-21) but 5.004.05-1.1 is to be installed
        Depends: perl-modules (= 5.6.0-21) but it is not going to be installed
        Depends: libc6 (>= 2.2.1-2) but 2.1.3-18 is to be installed
        Conflicts: perl-5.005 (< 6) but 5.005.03-7.1 is to be installed
  perl-5.005-base: Conflicts: perl but 5.6.0-21 is to be installed


So I try "apt-get -f install" like a well trained camper, and I get:

Correcting dependencies... Done
The following extra packages will be installed:
  libc6 libc6-dev libstdc++2.10-dev 
The following packages will be REMOVED:
  locale-zh 
3 packages upgraded, 0 newly installed, 1 to remove and 608 not upgraded.
17 packages not fully installed or removed.
Need to get 0B/5797kB of archives. After unpacking 1965kB will be used.
Do you want to continue? [Y/n] 
perl: /lib/libc.so.6: version `GLIBC_2.2' not found (required by /lib/libdb.so.3)
E: Sub-process /usr/sbin/dpkg-preconfigure --apt returned an error code (1)
E: Failure running script /usr/sbin/dpkg-preconfigure --apt

I did several foolish things to attempt to fix the problem which don't
bear repeating.  The correct solution I think was to install the libc,
libdb2, and perl 5.005 packages by hand with dpkg (and delete
locale-zh and maybe a few other things), and then do apt-get -f
install.  One then happily gets apt to the following state (not
normally a "happy" state, but well, it's better than having ld errors
in libc) (again here using "apt-get -f install"):

Correcting dependencies... Done
The following extra packages will be installed:
  libc6-dev libstdc++2.10-dev perl-base perl-modules 
The following packages will be REMOVED:
  perl-5.004-base 
The following NEW packages will be installed:
  perl-modules 
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
  perl-5.004-base (due to perl-base) 
3 packages upgraded, 1 newly installed, 1 to remove and 602 not upgraded.
7 packages not fully installed or removed.
Need to get 0B/4628kB of archives. After unpacking 8822kB will be used.
You are about to do something potentially harmful
To continue type in the phrase 'Yes, I understand this may be bad'
 ?]

And then just let it blow the sucker away, typing the scary phrase,
and hoping I don't have to go back to the Red Hat (yes, Red Hat;
that's another story) rescue disk.

More details available on request; I have typescripts of almost the
entire episode.

Thomas



Reply to: