You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by John Siracusa <si...@mindspring.com> on 2002/10/30 22:01:34 UTC

Apache::Peek and perl 5.8.0

Does anyone have Apache::Peek working with perl 5.8.0?  I can't get it to
build, and I can't find the symbols it's (apparently) missing anywhere in
perl 5.8.0's header files.  Example:

---

  CPAN.pm: Going to build D/DO/DOUGM/Apache-Peek-0.9501.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Apache::Peek
cp Peek.pm blib/lib/Apache/Peek.pm
/usr/local/bin/perl /Library/Perl/ExtUtils/xsubpp  -typemap
/Library/Perl/ExtUtils/typemap  Peek.xs > Peek.xsc && mv Peek.xsc Peek.c
Please specify prototyping behavior for Peek.xs (see perlxs manual)
cc -c  -I/Library/Perl/darwin/auto/Apache/include
-I/Library/Perl/darwin/auto/Apache/include/modules/perl
-I/Library/Perl/darwin/auto/Apache/include/include
-I/Library/Perl/darwin/auto/Apache/include/regex
-I/Library/Perl/darwin/auto/Apache/include/os/unix -I/usr/include/httpd
-pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -O3
-DVERSION=\"0.9501\" -DXS_VERSION=\"0.9501\"  "-I/Library/Perl/darwin/CORE"
-DMOD_PERL Peek.c
Peek.xs: In function `DumpOP':
Peek.xs:316: `GVOP' undeclared (first use in this function)
Peek.xs:316: (Each undeclared identifier is reported only once
Peek.xs:316: for each function it appears in.)
Peek.xs:316: parse error before ')' token
Peek.xs:318: parse error before ')' token
...

---

...and so on.  Anyway, I can't even find "GVOP" in
/Library/Perl/darwin/CORE/*.h, which makes me wonder if it's just plain
incompatible with 5.8.0 (the docs don't seem to mention anything about it)

-John


Re: Apache::Peek and perl 5.8.0

Posted by Stas Bekman <st...@stason.org>.
John Siracusa wrote:
> Does anyone have Apache::Peek working with perl 5.8.0?  I can't get it to
> build, and I can't find the symbols it's (apparently) missing anywhere in
> perl 5.8.0's header files.  Example:
[...]

Doug MacEachern has hacked Devel::Peek 0.95 to work with mod_perl. The
current Apache::Peek version is 0.9501. It works with Perl versions <
5.8.0 and mod_perl 1.x.

The attached package is a similar hack that works with Perl 5.8.0 and
mod_perl 1.x. Doug's hack doesn't compile with perl 5.8.0, since
Devel::Peek, which it copies, has been heavily rewritten and uses
internally APIs which didn't exist before. I took a different approach
and instead of overriding PerlIO functions (the approach which doesn't
work anymore) I've simply supplied a very simple PerlIO layer that
only knows to write data to the client using the request_rec object.

I've done only very basic testing, so bugs are possible. Let me know
if you spot any.

I'm not sure what's the best approach to take in order to distribute
this package. Whether to somehow extend it to support Perl < 5.8.0 and
thus merge with Doug's version, or simply distribute it
separately. Ideas and patches are welcome.

TODO: The tests weren't adopted to use Apache::Test yet. Patches are
welcome.




__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com