Randy Kobes <[EMAIL PROTECTED]> writes:
> As a first step, I looked through the APR::* modules, and
> came up with the following (entry-level) dependencies on
> mod_perl.so:
>
> Pool: modperl_interp_unselect (modperl_interp.c)
This one looks to be a PITA because of the (eventual)
request_rec dependence.
> Bucket: modperl_bucket_sv_create (modperl_bucket.c)
Simple fix- add
#include "modperl_bucket.c"
to APR__Bucket.h.
[...]
> Table: modperl_hash_tie, modperl_hash_tied_object
> (modperl_util.c)
Simple fix: copy those two functions from modperl_util.c
right into APR__Table.h.
The above fixes produce the following from `make`:
% for i in Bucket Brigade Pool Table; do echo "APR/$i/$i.so:";
> nm --dynamic blib/arch/Apache2/auto/APR/$i/$i.so | grep modperl;
> done
APR/Bucket/Bucket.so:
0000000000001b90 T modperl_bucket_sv_create
APR/Brigade/Brigade.so:
APR/Pool/Pool.so:
U modperl_interp_unselect
APR/Table/Table.so:
0000000000004cd0 T modperl_hash_tie
0000000000002590 T modperl_hash_tied_object
so IMO if we can figure out what to do about APR::Pool, the
other changes needed (for apreq2's Apache::Request) will be
straightforward.
> It also occurred to me though in trying to trace all the
> needed functions down - would it be easier to just treat
> mod_perl.so, when using the APR::* modules, as a needed .so
> that has to be loaded, like an Apache libapr*.so or like
> libapreq2.so?
That doesn't really help because of mod_perl.so's ap_*
dependence. There's no libhttpd on *nix that will resolve
the missing ap_* symbols from mod_perl.so.
--
Joe Schaefer
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]