Bug#753444: interruption code 0x4003B in libperl.so.5.18.2[3fffcfff000+1d0000]
Stephen Powell
zlinuxman at wowway.com
Wed Jul 23 02:04:05 UTC 2014
Bug number 753592 was merged into bug number 753444. Bug number 753444
was then marked as fixed in perl-base version 5.18.2-6. At the time of
this writing, this version is now in testing (jessie). So one would
think it would be safe now to upgrade one's system, right? Well, yes
and no. It can be done, but not in the standard way. If you use
apt-get update
apt-get upgrade
The upgrade will fail. The problem is a trigger in perl-base for
man-db. Configuring man-db requires hidden dependencies on other
packages which are not yet installed. Here's how I managed to break
the deadlock.
First of all, I had previously put perl, perl-base, and perl-modules
on hold at the 5.18.2-4 level with
echo perl hold | dpkg --set-selections
echo perl-base hold | dpkg --set-selections
echo perl-modules hold | dpkg --set-selections
So the first step was to remove the holds with
echo perl install | dpkg --set-selections
echo perl-base install | dpkg --set-selections
echo perl-modules install | dpkg --set-selections
Of course, it should go without saying that you have to be root to do
all of this. But I'll say it anyway for good measure.
Now change your current directory to a directory without any *.deb
files in it and proceed as follows:
apt-get update
apt-get download perl perl-base perl-modules libgdbm3 \
liblocale-gettext-perl libtext-charwidth-perl libtext-iconv-perl
dpkg -i perl-base_*.deb
Unpacking and configuring of perl-base will succeed, but the trigger
for configuring man-db will fail. This leaves perl-base with a dpkg
status of "ii" and man-db with a dpkg status of "iF". You can check
this with
dpkg-query -l perl-base
dpkg-query -l man-db
if you want. Keep going as follows:
dpkg -i perl-modules_*.deb
dpkg -i libgdbm3_*.deb
dpkg -i perl_*.deb
dpkg -i liblocale-gettext-perl_*.deb
dpkg -i libtext-charwidth-perl_*.deb
dpkg -i libtext-iconv-perl_*.deb
Now you have the prerequisites installed to configure man-db
dpkg --configure man-db
Now check the status of man-db again.
dpkg-query -l man-db
Now it shows up with a status of "ii", which is what you want.
Now do some cleanup ...
rm *.deb
apt-get check
If "apt-get check" gives errors, then use "apt-get -f install"
to fix it. Once this is done, proceed to upgrade the rest of
your database.
apt-get upgrade
apt-get clean
apt-get --purge dist-upgrade
apt-get clean
apt-get --purge autoremove
aptitude forget-new
aptitude keep-all
I hope this helps someone.
--
.''`. Stephen Powell
: :' :
`. `'`
`-
More information about the Perl-maintainers
mailing list