You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Mark Hedges <he...@scriptdolphin.org> on 2009/01/28 00:24:23 UTC

Apache::compat, perldoc modules?

Trying to get perldoc running in some fashion under Apache2
with libapreq2.

I thought I'd use Apache2::Pod::HTML but no luck:

[Tue Jan 27 14:55:04 2009] [error] [client 70.143.68.29]
Can't locate object method "send_http_header" via package
"Apache2::RequestRec" at
/usr/lib/perl5/site_perl/5.8.8/Apache2/Pod/HTML.pm line
173.\n

Apache::Perldoc has the same problem:

[Tue Jan 27 15:00:49 2009] [error] [client 70.143.68.29]
Can't locate object method "send_http_header" via package
"Apache2::RequestRec" at
/usr/lib/perl5/site_perl/5.8.8/Apache/Perldoc.pm line 8.\n

So I thought I'd use Apache::compat even though this may
bork some of my other code, but no luck.  This may be a
documentation error at
http://perl.apache.org/docs/2.0/api/Apache/compat.html,
which says:

  # either add at the very beginning of startup.pl
  use Apache2
  use Apache::compat;
  # or httpd.conf
  PerlModule Apache2
  PerlModule Apache::compat

I use the conf file instructions and get:

Starting httpd: [Tue Jan 27 15:11:41 2009] [error] Can't
locate Apache2.pm in @INC (@INC contains:
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
...
/usr/lib/perl5/5.8.8 . /etc/httpd) at (eval 167) line 3.\n

There is no Apache2.pm module.

And even without that, there is no Apache::compat module,
either:

Starting httpd: Syntax error on line 59 of
/etc/httpd/sites.d/blah.conf: Can't locate Apache/compat.pm
in @INC (...)

Am I missing something obvious here?

Thanks.

Mark

Re: Apache::compat, perldoc modules?

Posted by Adam Prime <ad...@utoronto.ca>.
Mark Hedges wrote:
> Trying to get perldoc running in some fashion under Apache2
> with libapreq2.
> 
> I thought I'd use Apache2::Pod::HTML but no luck:
> 
> [Tue Jan 27 14:55:04 2009] [error] [client 70.143.68.29]
> Can't locate object method "send_http_header" via package
> "Apache2::RequestRec" at
> /usr/lib/perl5/site_perl/5.8.8/Apache2/Pod/HTML.pm line
> 173.\n

send_http_header does not exist in the mod_perl2 api.  Really, that's a 
bug in Apache2::Pod::HTML

> Apache::Perldoc has the same problem:
> 
> [Tue Jan 27 15:00:49 2009] [error] [client 70.143.68.29]
> Can't locate object method "send_http_header" via package
> "Apache2::RequestRec" at
> /usr/lib/perl5/site_perl/5.8.8/Apache/Perldoc.pm line 8.\n
> 
> So I thought I'd use Apache::compat even though this may
> bork some of my other code, but no luck.  This may be a
> documentation error at
> http://perl.apache.org/docs/2.0/api/Apache/compat.html,
> which says:

This file is, i think, outdated, and you should instead look at this:

http://perl.apache.org/docs/2.0/api/Apache2/compat.html

>   # either add at the very beginning of startup.pl
>   use Apache2
>   use Apache::compat;
>   # or httpd.conf
>   PerlModule Apache2
>   PerlModule Apache::compat
> 
> <snip>

This stuff looks like documentation from before the API change that was 
updated with sed, but not really read.  It should likely be removed.

Adam