err debian upgrade

chrisv on 2009-02-07T09:55:39

Upgraded 2 Debian Etch servers today (with an "apt-get update" and subsequent "apt-get upgrade") one of which hosts the site. There was an upgrade for the kernel included (2.6.18-6-686) but after reboot Apache2+mod_perl wouldn't come up again, complaining about Errno.pm.

I tried an apt-get remove perl (which yielded the debian packages below), but to no avail.

apache-common build-essential defoma dpkg-dev fontconfig-config libalgorithm-c3-perl libapache-mod-perl libapache2-mod-perl2 libapache2-request-perl libappconfig-perl libarchive-tar-perl libbit-vector-perl libcache-cache-perl libcache-fastmmap-perl libcarp-assert-more-perl libcarp-assert-perl libcarp-clan-perl libcatalyst-engine-apache-perl libcatalyst-modules-extra-perl libcatalyst-modules-perl libcatalyst-perl libcatalyst-view-tt-perl libcgi-simple-perl libclass-accessor-chained-perl libclass-accessor-perl libclass-c3-perl libclass-container-perl libclass-data-accessor-perl libclass-data-inheritable-perl libclass-dbi-perl libclass-factory-util-perl libclass-inspector-perl libclass-singleton-perl libclass-throwable-perl libclass-trigger-perl libclone-perl libcompress-zlib-perl libconfig-any-perl libdata-dump-perl libdata-page-perl libdata-visitor-perl libdate-calc-perl libdatetime-format-strptime-perl libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdbd-mysql-perl libdbi-perl libdbix-class-perl libdbix-class-schema-loader-perl libdbix-contextualfetch-perl libdevel-stacktrace-perl libdevel-symdump-perl libdigest-hmac-perl libdigest-sha1-perl libemail-valid-loose-perl libemail-valid-perl liberror-perl libexception-class-perl libexporter-lite-perl libextutils-autoinstall-perl libextutils-cbuilder-perl libextutils-parsexs-perl libfile-copy-recursive-perl libfile-modified-perl libfile-slurp-perl libfontconfig1 libformvalidator-simple-perl libgd-gd2-perl libgd-securityimage-perl libgd2-xpm libhtml-fillinform-perl libhtml-mason-perl libhtml-parser-perl libhtml-prototype-perl libhtml-scrubber-perl libhtml-tagset-perl libhtml-tree-perl libhtml-widget-perl libhttp-body-perl libhttp-request-ascgi-perl libhttp-server-simple-perl libima-dbi-perl libio-stringy-perl libio-zlib-perl libipc-sharelite-perl libjson-perl liblingua-en-inflect-number-perl liblingua-en-inflect-perl liblist-moreutils-perl liblocale-maketext-lexicon-perl liblocale-maketext-simple-perl liblog-log4perl-perl libmailtools-perl libmime-types-perl libmodule-build-perl libmodule-find-perl libmodule-install-perl libmodule-pluggable-fast-perl libmodule-pluggable-perl libmodule-scandeps-perl libnet-daemon-perl libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libobject-signature-perl libossp-uuid-perl libpar-dist-perl libparams-validate-perl libpath-class-perl libplrpc-perl librpc-xml-perl libset-object-perl libsql-abstract-limit-perl libsql-abstract-perl libsub-uplevel-perl libtemplate-perl libtemplate-plugin-class-perl libtemplate-timer-perl libtest-exception-perl libtest-longstring-perl libtest-mockobject-perl libtest-use-ok-perl libtest-www-mechanize-perl libtext-simpletable-perl libtie-ixhash-perl libtimedate-perl libtree-simple-perl libtree-simple-visitorfactory-perl libuniversal-can-perl libuniversal-exports-perl libuniversal-isa-perl libuniversal-moniker-perl libuniversal-require-perl liburi-perl libversion-perl libwww-mechanize-perl libwww-perl libxml-parser-perl libyaml-perl mysql-client-5.0 mysql-server mysql-server-5.0 perl perl-modules perltidy ttf-dejavu

After some googling, I found the following thread on Google Groups:

which talks about a "buggy" arch-check in /usr/local/share/perl/5.8.8/Errno.pm:

11 "$Config{'archname'}-$Config{'osvers'}" eq
12 "i486-linux-gnu-thread-multi-2.6.24.4" or
13 die "Errno architecture (i486-linux-gnu-thread-multi-2.6.24.4) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";

So I commented these lines out and perl worked fine again (after having reinstalled Perl and accompanying debian packages of course), so apparently this "bug" hasn't been fixed yet in the current perl-base package.

Also, mod_perl2 had been disabled from the Apache modules-loading after the upgrade of the Apache2 server, so I had to create a new (symbolic) link:

ln -s /etc/apache2/mods-enabled/perl.load /etc/apache2/mods-available/perl.load