Subject: Problems running with mod_perl 2?

From: Andy Deckowitz <[email-masked]>
Date: Fri, 12 Sep 2008 20:50:35 -0000

Hi,

I'm trying to activate mod_perl for Argus, and getting an error that
seems to be related to an obsolete function call.  I'm running on SLES
10 SP2, with Apache and Mod_perl from the vendor as versions
apache2-2.2.3-16.18 and apache2-mod_perl-2.0.2-14.2 (looks like 2.2.3
and 2.0.2 respectively).  The error I get is:

---------------
Server error!
The server encountered an internal error and was unable to complete your
request.

Error message:
Can't locate object method "request" via package "Apache" at
/srv/www/cgi-bin/arguscgi line 109.

If you think this is a server error, please contact the webmaster.

Error 500
-----------

The code at line 109 is
         Apache->request($r);
and per the docs at
http://perl.apache.org/docs/2.0/user/porting/compat.html#C_Apache_E_gt_request_,
this call should either be avoided or replaced with
Apache2::RequestUtil::request().  Having found all this, I'm not sure
where to go next.  I've attempted some obvious replacements to either
avoid the function call or replace it with the new call, with no
appreciable results.  I've even tried to activate the Apache2::compat()
module that is supposed to permit drop-in usage of mod_perl 1.0 code,
which also did not work.

I'm able to run OK in CGI mode, but I'd like to go to mod_perl
eventually.  Any thoughts?

Andy Deckowitz