SPUG: mod_perl Newbie Help

Eric Kahklen ekahklen-chhip at qwest.net
Mon Aug 4 12:16:23 CDT 2003


This was originally posted on a Linux list but was suggested that I look
here for further help on the issue.  I've also included some suggestions for
others and the resulting errors. Sorry for the crude descriptions, but I am
still quite new to Perl in general.

I am trying to learn about mod_perl and seem to be having problems trying to
get it to work correctly.  I've been struggling with this for a few days and
am a beginner so please keep that in mind.  I am reading a book on Open
Source Web Development and am following the directions to configure
mod_perl.  The suggested perl script fails and says it cannot find the
Registry.pm.  From my understanding, the script is called from the
httpd.conf file to load modules needed for mod_perl. In addition, the
settings are also allowing the CGI scripts from the previous chapter to be
run without being re-written.  Here is what is being suggested by the
author:

#!/usr/bin/perl
#startup.pl

# Tell Perl where to find our modules
use lib '/var/www/mod_perl';

# use some common modules
use Apache::Registry();
use Apache::Constants();
use CGI ':standard';
use DBI;

# add other modules here..

# the file needs to end with 1;
1;



This is added to the end of the httpd.conf file

PerlRequire conf/startup.pl
PerlFreshRestart On


When I do a /etc/init.d/httpd graceful I get the following error:

[error] Can't locate Apache/Registry.pm in @INC (@INC
contains: /var/www/mod_perl
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl .) at
/etc/httpd/conf/startup.pl line 7.
BEGIN failed--compilation aborted at
/etc/httpd/conf/startup.pl line 7.
Compilation failed in require at (eval 1) line 1.

When I do perl -we 'use Apache::Registry();' I get this error:

Can't locate Apache/Registry.pm in @INC (@INC
contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.


I am running Red Hat 8 and as far as I can tell, I have everything
installed. A 'locate Registry.pm' results in this:

/root/.cpan/build/mod_perl-1.28/lib/Apache/Registry.pm
/root/.cpan/build/mod_perl-1.28/blib/lib/Apache/Registry.pm
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/ModPerl/Registry.pm

Any help would be appreciated on this.

Thanks,

Eric



__________________________________________________

Eric Kahklen
System Administrator
Capitol Hill Housing Improvement Program
1406 10th Ave, Suite 101
Seattle, WA 98122
206-329-7303





More information about the spug-list mailing list