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