You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by pi...@goldfisch.at on 2002/11/01 23:54:20 UTC

mod_perl2: apache.pm vs apache2.pm (CGI.pm)

I've mod_perl running on several machines (apache 1.x) Today I
installed a new system with apache2 and ran into deep troubles and
questions:

I installed perl-5.8.0, apache 2.0.43 and mod_perl 1.99_07

I preload Apache2 and use ModPerl::Registry:

LoadModule perl_module modules/mod_perl.so
PerlModule Apache2
and for my perl-files:
PerlResponseHandler ModPerl::Registry

As soon as I try to run a script under mod_perl that uses CGI.pm I get
the problem:

[Fri Nov 01 23:27:43 2002] [error] 9558: ModPerl::Registry: Can't locate Apache.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.0/i686-linux/Apache2 /usr/local/lib/perl5/5.8.0/i686-linux /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i686-linux /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/5.8.0/CGI.pm line 161.
Compilation failed in require at /home/htdocs/perl/testgoldfisch.cgi line 4.
BEGIN failed--compilation aborted at /home/htdocs/perl/testgoldfisch.cgi line 4.

Now I was starting to look around and in fact I have Apache.pm and
Apache2.pm on my system. Apache.pm is not in @INC (its in
/usr/local/lib/perl5/5.8.0/CGI/Apache.pm where it came from perl-insallation)
In @INC I only have Apache2.pm, which comes from the mod_perl Installation.

Now I dont know whats going on. Maybe this both two modules have nothing in common but a similar name.
Shall I extend my @INC so that Apache.pm is in it (where is best place to change @INC ?).

If I use the Compat-mode the problem vanishes. Is the CGI-module
incompatible with mod_perl2 ? If yes, is there any alternative that
can be used without need to rewrite all our libraries that rely on
CGI.pm ?

thnx,
peter

-- 
mag. peter pilsl
IT-Consulting
tel: +43-699-1-3574035
fax: +43-699-4-3574035
pilsl@goldfisch.at

Re: mod_perl2: apache.pm vs apache2.pm (CGI.pm)

Posted by Jason Czerak <Ja...@Czerak.com>.
On Fri, 2002-11-01 at 17:54, pilsl@goldfisch.at wrote:

First, make sure you have the latest version of CGI.pm from CPAN. It has
fixes in there to automatically load Apache::Compat for you. Also CGI.pm
isn't fully mod_perl2 compatable. so there is that over head
unfortunally. Right now for me, I'll deal with the extra overhead, and
with time Everything will be mod_perl2.0 aware.

DBI.pm, CGI.pm, and Text::Templates would be great if they were to port
them to work on mod_perl2 ASAP :)

--
Jason Czerak




> I've mod_perl running on several machines (apache 1.x) Today I
> installed a new system with apache2 and ran into deep troubles and
> questions:
> 
> I installed perl-5.8.0, apache 2.0.43 and mod_perl 1.99_07
> 
> I preload Apache2 and use ModPerl::Registry:
> 
> LoadModule perl_module modules/mod_perl.so
> PerlModule Apache2
> and for my perl-files:
> PerlResponseHandler ModPerl::Registry
> 
> As soon as I try to run a script under mod_perl that uses CGI.pm I get
> the problem:
> 
> [Fri Nov 01 23:27:43 2002] [error] 9558: ModPerl::Registry: Can't locate Apache.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.0/i686-linux/Apache2 /usr/local/lib/perl5/5.8.0/i686-linux /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i686-linux /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/5.8.0/CGI.pm line 161.
> Compilation failed in require at /home/htdocs/perl/testgoldfisch.cgi line 4.
> BEGIN failed--compilation aborted at /home/htdocs/perl/testgoldfisch.cgi line 4.
> 
> Now I was starting to look around and in fact I have Apache.pm and
> Apache2.pm on my system. Apache.pm is not in @INC (its in
> /usr/local/lib/perl5/5.8.0/CGI/Apache.pm where it came from perl-insallation)
> In @INC I only have Apache2.pm, which comes from the mod_perl Installation.
> 
> Now I dont know whats going on. Maybe this both two modules have nothing in common but a similar name.
> Shall I extend my @INC so that Apache.pm is in it (where is best place to change @INC ?).
> 
> If I use the Compat-mode the problem vanishes. Is the CGI-module
> incompatible with mod_perl2 ? If yes, is there any alternative that
> can be used without need to rewrite all our libraries that rely on
> CGI.pm ?
> 
> thnx,
> peter
> 
> -- 
> mag. peter pilsl
> IT-Consulting
> tel: +43-699-1-3574035
> fax: +43-699-4-3574035
> pilsl@goldfisch.at
> 


Re: mod_perl2: apache.pm vs apache2.pm (CGI.pm)

Posted by Sumitro Chowdhury <su...@yahoo.com>.
--- pilsl@goldfisch.at wrote:
> I've mod_perl running on several machines (apache
> 1.x) Today I
> installed a new system with apache2 and ran into
> deep troubles and
> questions:
> 
> I installed perl-5.8.0, apache 2.0.43 and mod_perl
> 1.99_07
> 
> <snip>
> 
> If I use the Compat-mode the problem vanishes. Is
> the CGI-module
> incompatible with mod_perl2 ? 

Yes !!

>If yes, is there any
> alternative that
> can be used without need to rewrite all our
> libraries that rely on
> CGI.pm ?

Probably not :-(  unless you use Apache::compat .
Checkout
http://perl.apache.org/docs/2.0/api/mod_perl-2.0/Apache/compat.html
http://perl.apache.org/docs/2.0/user/compat/compat.html

Regards,
Sumitro Chowdhury

> 
> thnx,
> peter
> 
> -- 
> mag. peter pilsl
> IT-Consulting
> tel: +43-699-1-3574035
> fax: +43-699-4-3574035
> pilsl@goldfisch.at


__________________________________________________
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/