SYMPTOMS
mod_perl is loaded in apache, this causes apache cannot be started but generates an error, for example:Cannot load /usr/local/libexec/apache2/mod_perl.so into server: /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so: Undefined symbol "__h_errno"
If I disable mod_perl.so in httpd.conf apache starts and is running correctly.
/usr/local/etc/apache2/httpd.conf
..............
LoadModule perl_module libexec/apache2/mod_perl.so
..............
CAUSE
All components of Plesk Contorl Plesk 8.4.0 were compiled on FreeBSD 6.1 with security fixes from vendor applied, i.e. version 6.1-p10.glibc in versions 6.1-RELEASE and 6.1-p10 are different enough, this causes perl fails with segmentation fault.
RESOLUTION
To resolve the problem main perl should be recompiled with option WITH_THREADS enabled, mod_perl and all other perl modules should be recompiled also.General solution is to upgrade 'world' to the latest 6.1 patch. Then recompile perl, mod_perl and all installed p5-* modules again in standard non-threaded view.
Keywords: FreeBSD update perl segmentation fault