Perl Issue

Smooth_J

Verified User
Joined
Oct 25, 2004
Messages
17
I installed perl 5.8.7 and now apache will not start.

Checked error log and I get:

Can't locate strict.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.7/mach /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.7/BSDPAN /usr/local/lib/perl5/5.8.7/mach /usr/local/lib/perl5/5.8.7 .) at /usr/local/lib/perl5/site_perl/5.8.7/mach/Cwd.pm line 169.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.7/mach/Cwd.pm line 169.
Compilation failed in require at (eval 2) line 1.

Please help!!

John
 
ok, this is stating the obvious of course but have you tried doing a rebuild of customapache yet? As in many cases simply rebuilding solves most of those types of issues. The downside with the freebsd versions is that DA doesn't register everything in the pkgdb thus a portupgrade often won't help much.

-Justin
 
yep, I tried that and many other things. However still the same issue.

Please help :(
 
When upgrading apache you need to rebuild everything that depends on perl including all perl CPAN stuff.

In this version of perl (5.8.7) there is a script provided 'perl-after-upgrade' I have no idea how well it works tho, remember to also recompile mod-perl as well.
 
Chrysalis said:
When upgrading apache you need to rebuild everything that depends on perl including all perl CPAN stuff.

In this version of perl (5.8.7) there is a script provided 'perl-after-upgrade' I have no idea how well it works tho, remember to also recompile mod-perl as well.

I never tried 'perl-after-upgrade' however I did recompile mod-perl several times (cleaned perl as well). I do not get any errors no more, all I get is:

kernel: pid 63412 (httpd), uid 0: exited on signal 11 (core dumped)

Commented out all perl in apache conf, and it works fine. I will try to work on this later. Any suggestions?

John
 
I did a portupgrade -ra yesterday and then my apache crashed around 1 and I have been fighting to get it going again all day. I too have had to comment out perl for the time being until this can be resolved. I am on freebsd 5.1 (I know, I know) and perl 5.8.7.

I am getting these errors when starting apache.

www6# /usr/local/etc/rc.d/httpd configtest
Syntax error on line 24 of /etc/httpd/conf/ips.conf:
Invalid command 'SSLEngine', perhaps mis-spelled or defined by a module not included in the server configuration

I tried commenting out the ifdefine's and everything else I could find on this board about that, but I think the problem really comes back to perl.
 
I have now used perl after upgrade and found it works very well, so I upgraded perl, ran perl after upgrade, recompiled mod_perl, restarted apache and all is well. On 2 other boxes I simply recompiled 'everything' that depends on perl instead of running the script and all is well also.

So I can only guess that you guys have missed some perl stuff out after you upgraded perl.
 
Chrysalis - Can you go over how you recompiled mod_perl?

I ran perl after upgrade twice (second time with -f). Is that the way you did it?

Did you upgrade Perl from Ports and if so, did you then run use.perl port?
 
use.perl port isnt needed on FreeBSD 5.x so I did the following.

portupgrade perl (dont upgrade perl as part of portupgrade -a)
perl after upgrade
perl after upgrade -f (remember check for errors, I had none)
cd /usr/local/directadmin/customapache
./build mod_perl
/usr/local/etc/rc.d/httpd restart
 
Ok, I am going to give this a shot now. What is the logic/reason behind not including perl in the portupgrade?
 
I went through mod_perl but then I got an ltdl error I have not seen in a long long time. Fixed that with the suggestion at http://www.directadmin.com/forum/sh...=8668&highlight=/usr/bin/ld+cannot+find+lltdl

But, then when I went to build all again, apache would not stay up and I got these errors in my messages.

Jul 5 13:41:27 www6 kernel: pid 4310 (httpd), uid 1004: exited on signal 11
Jul 5 13:41:27 www6 kernel: pid 4298 (httpd), uid 1004: exited on signal 11
Jul 5 13:41:27 www6 kernel: pid 4295 (httpd), uid 1004: exited on signal 11
Jul 5 13:41:27 www6 kernel: pid 4292 (httpd), uid 1004: exited on signal 11
Jul 5 13:41:36 www6 kernel: pid 28555 (httpd), uid 0: exited on signal 11 (core dumped)
Jul 5 13:42:04 www6 kernel: pid 8423 (httpd), uid 0: exited on signal 11 (core dumped)
Jul 5 13:42:20 www6 kernel: pid 8444 (httpd), uid 0: exited on signal 11 (core dumped)
Jul 5 13:42:33 www6 kernel: pid 8461 (httpd), uid 0: exited on signal 11 (core dumped)

So, now I am back with apache without Perl. At least the sites are up, but this is not ideal.
 
Chrysalis said:
use.perl port isnt needed on FreeBSD 5.x so I did the following.

portupgrade perl (dont upgrade perl as part of portupgrade -a)
perl after upgrade
perl after upgrade -f (remember check for errors, I had none)
cd /usr/local/directadmin/customapache
./build mod_perl
/usr/local/etc/rc.d/httpd restart

Tried, but it looks like it failed once again :(

Please help!!! :(
 
If none of our sites use perl, are there any other ramifications of having perl commented out in httpd.conf? Such as, functions that DA does (webalizer, traffic stats, etc)
 
I had a simillar error and this worked to get me up.

cd /usr/ports/lang/perl5.8
make && make deinstall reinstall clean
cd /usr/local/directadmin
./build clean
./build update
./build apache_mod_ssl
./build mod_perl
/usr/local/etc/rc.d/httpd restart
 
I did everything like you said, and still the same issue...

...this is not good :( I need help, please
 
Smooth your issue seems related to something else, if it was related to the perl upgrade then doing all of what we said would have fixed it.
 
Back
Top