Apache::compat, perldoc modules?

Apache::compat, perldoc modules?

am 28.01.2009 00:24:23 von Mark Hedges

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?

am 28.01.2009 05:37:16 von Adam Prime

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
>
>

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