[Catalyst] ModPerl 1.99 problem
Christian Hansen
ch at ngmedia.com
Tue Jun 7 15:36:26 CEST 2005
On 2005-06-07, at 14.16, Marcello wrote:
> Marcello ha scritto:
>> Hi,
>> I'm trying to make a simple Catalyst app run under
>> apache-2.0.54/mod_perl-1.999.21 (WinXP SP2, activePerl 5.8.6, build
>> 811)
>> The error log file reports:
>> Can't locate object method "boot" via package mod_perl at
>> C:/Perl/site/lib/Apache/Constants.pm line 8.\n
>> Somewhere the mod_perl 1 module Apache::Constants is being loaded,
>> but I can't find where (grep -R 'Apache::Constants' C:/Perl/site'
>> doesn't show anything wrong).
>> I've searched around the net and in the docs, but I can't find
>> solution to this.
>> The app runs fine using Catalyst's test server (i.e.
>> <app_name>_server.pl)
>> The framework loads the MP19 engine (this is correct); I've also
>> tried to specify the MP20 engine, using the -Engine option, but that
>> didn't change anything.
>> I guess I'm doing some stupid mistake, but I can't find out what.
>> Can anyone help me ?
>> Thanks in advance
>> Marcello
>> _______________________________________________
>> Catalyst mailing list
>> Catalyst at lists.rawmode.org
>> http://lists.rawmode.org/mailman/listinfo/catalyst
>
> I think the problem comes from CGI::Cookie, which can only
> differentiate between mod_perl 1 and mod_perl 2.
> I think the relevant lines are:
>
> 23 # Turn on special checking for Doug MacEachern's modperl
> 24 my $MOD_PERL = 0;
> 25 if (exists $ENV{MOD_PERL}) {
> 26 if ($ENV{MOD_PERL_API_VERSION} == 2) {
> 27 $MOD_PERL = 2;
> 28 require Apache2::RequestUtil;
> 29 require APR::Table;
> 30 } else {
> 31 $MOD_PERL = 1;
> 32 require Apache;
> 33 }
> 34 }
>
> Replacing lines 31, 32 with:
>
> $MOD_PERL = 2;
> require Apache2;
> require Apache::RequestUtil;
> require APR::Table;
That change will not be enough. You will have to downgrade CGI.pm to
3.07 if you want to run mod_perl <= 1.999021
--
Christian Hansen
nGmedia
+46 40 660 17 50
More information about the Catalyst
mailing list