View Full Version : mod_perl issue on perl upgrade for some distros
IWorx-Paul
12-02-2005, 03:08 PM
We've had reports today from a few folks that the lastest OS update caused a problem with the installed mod_perl, which prevented apache from starting up successfully.
The error looks like this when apache tries to start
Undefined symbol Perl_Ippid_ptr in mod_perl.so
You can quickly resolve this by disabling mod_perl (assuming it isn't needed). Do this by editing the file /etc/httpd/conf.d/perl.conf, and comment out the LoadModule line, so that it looks like this:
#LoadModule perl_module modules/mod_perl.so
Then restart the webserver:
service httpd restart
You can follow these instructions to resolve this permanently, depending on your distro.
On Fedora Core 3:
wget http://updates.interworx.info/fedora/core/3/SRPMS/mod_perl-1.99_16-3.src.rpm
rpmbuild --rebuild mod_perl-1.99_16-3.src.rpm
cd /usr/src/redhat/RPMS/i386
rpm -Uvh mod_perl-*.rpm --force
<uncomment the LoadModule line from /etc/httpd/conf.d/perl.conf, if you have disabled it>
service httpd restart
When/if we discover this problem with more distro's we'll update this post.
Paul
EverythingWeb
12-02-2005, 04:25 PM
Hello Paul,
Thanks for the post - I noticed this error, and after being notified, commented out the LoadModule line, which got the httpd back up & running. Doing a search on G didn't turn up much apart from back in February where it stated a yum update would have fixed - obviously to no avail.
Anyway, my update wasn't quite as successful as yours. I had to
#yum install gdbm-devel apr-devel apr-util-devel
#yum install rpm-build
On running:
#rpmbuild --rebuild mod_perl-1.99_16-3.src.rpm
I get:
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.94272 (%build)
tail'ing that file:
[root@falcon SOURCES]# tail /var/tmp/rpm-tmp.94272
MP_APXS=/usr/sbin/apxs MP_APR_CONFIG=/usr/bin/apr-config \
CCFLAGS="$RPM_OPT_FLAGS -fPIC"
make
# Run the test suite.
# Need to make t/htdocs/perlio because it isn't expecting to be run as
# root and will fail tests that try and write files because the server
# will have changed it's uid.
Any ideas?
Cheers.
IWorx-Paul
12-02-2005, 04:46 PM
Your server is FC3, yes?
Were there any errors above the RPM Build errors: line?
Paul
EverythingWeb
12-02-2005, 04:58 PM
/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
make[3]: *** [../../../blib/arch/auto/APR/APR.so] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/mod_perl-1.99_16/xs/APR/APR'
make[2]: *** [subdirs] Error 2
make[2]: Leaving directory `/usr/src/redhat/BUILD/mod_perl-1.99_16/xs/APR'
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/mod_perl-1.99_16/xs'
make: *** [subdirs] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.29209 (%build)
I have downloaded the expat srpm and ran a rpmbuild on it and still the same error. Yes, its FC3.
EverythingWeb
12-02-2005, 05:02 PM
Okay, I have grabbed expat-devel and its progressing further.
Sorted - for anyone experiencing similar - make sure expat and expat-devel are installed. This is a new'ish server so this could explain. Thanks for the pointers Paul. :D
pascal
12-12-2005, 04:35 AM
Hi all,
By default Mod_perl isn't an interworx module, isn't it ? or if it is, it is disabled by default, no ?
Pascal
IWorx-Chris
12-12-2005, 05:57 PM
It's not pascal, and however your distro has it installed (enabled or not) is how it's setup.
Chris
FusionHosting
04-12-2006, 02:13 PM
I'm still tweaking my Iworx test server with a production site running on them in that clustered pair, just noticed they didn't have mod perl compared to my other Plesk server that had been running the same scripts with improved performance/stability.
I just installed mod_perl on both Iworx and it seems to be going fairly well now. Just wondering if you left them out for any particular reason on the build/install?
IWorx-Chris
04-12-2006, 05:48 PM
It was just 1 more thing to build/maintain FusionHosting that wasn't imperative to the system.
Chris
pascal
04-12-2006, 10:13 PM
I'm still tweaking my Iworx test server with a production site running on them in that clustered pair, just noticed they didn't have mod perl compared to my other Plesk server that had been running the same scripts with improved performance/stability.
I just installed mod_perl on both Iworx and it seems to be going fairly well now. Just wondering if you left them out for any particular reason on the build/install?
Helo FusionHosting
Do you use Mod_perl to only execute Perl scripts ?
All of your cgi perl ? only one script ?
Is it a problem for you to show me how you add the mod_perl handler in the apache conf file ?
there is no security pbm to allow all perl scripts of all siteworx accounts to be run directly in apache with mod perl ?
Pascal
FusionHosting
04-13-2006, 01:38 PM
For this particular cluster it's only a single perl script.
I'm not aware of there being a special handler entry for the conf file, you just add the LoadModule line into the conf file as the mod_perl instructions say to do.
I've checked one of my Plesk servers running 1.99 and it only has the LoadModule line as well, so my guess is Apache passes it off to mod_perl directly.
pascal
04-14-2006, 08:24 AM
Well.....
Mod_perl is basicly used to create new Apache modules writed in Perl rather than C, that's all.
You also tell to Mod_perl which Perl script have to be interpreted by Mod_perl (so directly by apache) rather than executing the Perl exe.
For me to allow mod_perl to run existing CGI (writed in perl) you have to add something like
SetHandler perl-script
PerlHandler Apache::Registry
It can be per vhost or for every files name pl or cgi or ....
Maybe I completly wrong but look at the mod_perl doc :
http://perl.apache.org/start/index.html
and
http://perl.apache.org/start/tips/registry.html#Running_CGI_scripts_with_mod_perl
But one more time, maybe I completly wrong
Pascal
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.