Re: Upgrade report: woody->sarge
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
>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
It's probable that "apt-get install -f" as suggested may have corrected
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:
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.