On Sun, Aug 01, 2004 at 03:52:54PM -0400, Joey Hess wrote: >(Redirecting to correct lists.) > >Rainer Dorsch wrote: >> 849 packages upgraded, 237 newly installed, 26 to remove and 4 not upgraded. >> 39 packages not fully installed or removed. >> Need to get 0B/626MB of archives. After unpacking 431MB will be used. >> Do you want to continue? [Y/n] >> /usr/bin/perl: relocation error: /usr/lib/perl5/auto/Text/Iconv/Iconv.so: un >> defined symbol: Perl_Gthr_key_ptr >> >> Then I started upgrading libc6 and perl with dpkg -i <list of packetnames> >> >> I uploaded the transscript to >> >> http://alzental-castle2.homelinux.org/woody-sarge-update.txt.gz > >It seems that our perl upgrade from woody to sarge is not robust if it >dies in the middle. The X problem below caused the first apt run to fail >with various parts of perl unpacked and not configured. Then it looks >like debconf (which uses Iconv) was unable to run. Probably a dpkg >--configure -a would have cleared this up; reinstalling perl manually >had the same result.
Not configuration, there's not really any to speak of. The problem is that neither perl-base, nor libc6 are unpacked before the initial install dies, although libtext-iconv-perl is, which depends on both of those packages: Preparing to replace perl-modules 5.6.1-8.7 (using .../perl-modules_5.8.4-2_all.deb) ... Unpacking replacement perl-modules ... Selecting previously deselected package libdb4.2. Unpacking libdb4.2 (from .../libdb4.2_4.2.52-16_i386.deb) ... Selecting previously deselected package libgdbm3. Unpacking libgdbm3 (from .../libgdbm3_1.8.3-2_i386.deb) ... Preparing to replace perl 5.6.1-8.7 (using .../archives/perl_5.8.4-2_i386.deb) ... Unpacking replacement perl ... Preparing to replace libtext-iconv-perl 1.2-1 (using .../libtext-iconv-perl_1.2-3_i386.deb) ... Unpacking replacement libtext-iconv-perl ... Note the output from the next command "apt-get remove --purge xlibs-dev": You might want to run `apt-get -f install' to correct these: Sorry, but the following packages have unmet dependencies: [...] libtext-iconv-perl: Depends: libc6 (>= 2.3.2.ds1-4) but 2.2.5-11.5 is to be installed Depends: perl-base (>= 5.8.3-2) but 5.6.1-8.7 is to be installed Depends: perlapi-5.8.3 [...] It's probable that "apt-get install -f" as suggested may have corrected this automatically. The real problem here would seem to be the possibility of debconf being called by apt (via DPkg::Pre-Install-Pkgs) or dpkg (maint scripts) with a half-installed system. While this should be fine if only perl-base is used (the old or new version should work stand-alone, even if other parts of perl have been unpacked/installed), although a complex dependency chain like: debconf->debconf-i18n->{liblocale-gettext-perl,libtext-iconv-perl,...}->... cannot be guaranteed to have been met when debconf is called. In this particular instance, having libtext-iconv-perl pre-depend on perl-base (as liblocale-gettext-perl does) *may* have avoided the problem... then again it may just have compounded it. --bod