Re: Problem With Perl Versions
Hi there, On Fri, 13 Jul 2001, James McKim wrote: Hello all, In trying to upgrade a RedHat Linux7.0 system I inherited to Perl5.6.0 I'd suggest you go for the latest stable release, but I've had no troubles with 5.7.x. Grab the sources, delete all the Apache, mod_perl and Perl source directories, build Perl from scratch, then build Apache and mod_perl from scratch. You shouldn't have any trouble on Slackware unless it's been completely Bowdlerized. Below is a makepl_args.mod_perl file for you to put in your mod_perl directory, after building Perl and extracting the Apache and mod_perl sources (say into /usr/src/apache and /usr/src/mod_perl respectively) just do: % cd /usr/src/mod_perl % perl Makefile.PL % make % su # make install Some of the lines in the file below aren't really necessary. Have a look at http://perl.apache.org/guide for loads more useful info. HTH, 73, Ged. -- USE_APACI=1 APACHE_PREFIX=/usr/local APACHE_SRC=../apache/src DO_HTTPD=1 EVERYTHING=1 ALL_HOOKS=1 PERL_SSI=1 PERL_SECTIONS=1 ADD_MODULE=info,status,proxy APACI_ARGS=--sbindir=/usr/local/sbin/httpd APACI_ARGS=--sysconfdir=/usr/local/apache/httpd/conf APACI_ARGS=--runtimedir=/usr/local/apache/httpd/run APACI_ARGS=--logfiledir=/usr/local/apache/httpd/logs APACI_ARGS=--localstatedir=/usr/local/apache/httpd/stat APACI_ARGS=--proxycachedir=/usr/local/apache/httpd/proxy APACI_ARGS=--enable-module=rewrite APACI_ARGS=--enable-module=include APACI_ARGS=--enable-module=info --
Problem With Perl Versions
Hello all, In trying to upgrade a RedHat Linux7.0 system I inherited to Perl5.6.0 There are several versions of perl installed on the system and I've run into a problem restarting the server. To set a context for you all, I'm not a perl or apache expert, so I may be (OK probably) missing something here. I got the following message when trying to start the server. --- [Fri Jul 13 10:37:24 2001] [error] Perl 5.00564 required--this is only version 5.00503, stopped at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /var/pickcity/htdocs/init.pl line 1. Syntax error on line 1029 of /etc/httpd/conf/httpd.conf: Perl 5.00564 required--this is only version 5.00503, stopped at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /var/pickcity/htdocs/init.pl line 1. This didn't make sense because, as I said above, I installed perl5.6.0. So, just to double check, I invoked perl from the command line (from /usr/bin) to ask it what version it is, I got the following: [root@localhost pickcity]# perl -v This is perl, v5.6.0 built for i386-linux Copyright 1987-2000, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. - This is the only perl executable on the system that I can tell. Note that I'm trying to use the use lib syntax in init.pl to point Apache and Perl to the set of perl5.6.0 directories where the perl modules live as they doesn't seem to be pointing to the right directories. So, this seems to be sort of a catch 22 . It's telling me that I don't have the right version, yet when I invoke perl, it tells me that I have a totally different version. It appears that somehow, Apache is trying to use a version of perl other than that currently on the system. I don't know if this means its pointing to modules that are old or even how thinks it knows what the current version is. Any help would be appreciated. Thanks, James
Re: Problem With Perl Versions
Thanks for the suggestion. It seems odd since libperl.so and libperl.a are in the 5.6.0 directories and seem to have been created when I installed the 5.6.0 version, but I don't know where the binary is it thinks it should be using, so recompiling may help. James Aaron Patterson wrote: You probably have mod_perl compiled with perl 5.00503. Try recompiling mod_perl. That may help. --Aaron On Fri, 13 Jul 2001, James McKim wrote: Hello all, In trying to upgrade a RedHat Linux7.0 system I inherited to Perl5.6.0 There are several versions of perl installed on the system and I've run into a problem restarting the server. To set a context for you all, I'm not a perl or apache expert, so I may be (OK probably) missing something here. I got the following message when trying to start the server. --- [Fri Jul 13 10:37:24 2001] [error] Perl 5.00564 required--this is only version 5.00503, stopped at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /var/pickcity/htdocs/init.pl line 1. Syntax error on line 1029 of /etc/httpd/conf/httpd.conf: Perl 5.00564 required--this is only version 5.00503, stopped at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /etc/httpd//lib.pm line 3. BEGIN failed--compilation aborted at /var/pickcity/htdocs/init.pl line 1. This didn't make sense because, as I said above, I installed perl5.6.0. So, just to double check, I invoked perl from the command line (from /usr/bin) to ask it what version it is, I got the following: [root@localhost pickcity]# perl -v This is perl, v5.6.0 built for i386-linux Copyright 1987-2000, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. - This is the only perl executable on the system that I can tell. Note that I'm trying to use the use lib syntax in init.pl to point Apache and Perl to the set of perl5.6.0 directories where the perl modules live as they doesn't seem to be pointing to the right directories. So, this seems to be sort of a catch 22 . It's telling me that I don't have the right version, yet when I invoke perl, it tells me that I have a totally different version. It appears that somehow, Apache is trying to use a version of perl other than that currently on the system. I don't know if this means its pointing to modules that are old or even how thinks it knows what the current version is. Any help would be appreciated. Thanks, James