######################################## # external (non-mod_perl) APR:: issues # ######################################## * As mike chamberlain told me over irc, apr-ext/perlio was faling for him because of the modperl_perl_gensym not being resolved in APR/PerlIO.so. I didn't see that error since on linux by default symbols resolution is lazy and since that part of the api wasn't tested I did see the problem. On MacOSX the loading is RTLD_NOW (non-lazy) so it detects any missing symbols problems immediately. Luckily DynaLoader allows us to force the non-lazy mode by setting an env var: PERL_DL_NONLAZY=1. We need to force this env variable on when building with MP_MAINTAINER=1. I suppose that it should be added to the autogenerated t/TEST and t/SMOKE. and to t/conf/modperl_extra.pl ($ENV{PERL_DL_NONLAZY}=1) so it affects the server-side as well as the client-side (normally env var aren't propogated to the server). * APR::Table now depends on modperl_hash_tie, so it can't be used outside mod_perl. should probably abstract this function into a new utils.c object that can be linked by APR.so. Status: see the next item * APR::PerlIO needs an equivalent of modperl_perl_gensym Status: we need to abstract those function into a separate object, which can be linked by APR.so. However I think we should probably provide a static build and after that see how to do the linking right. Otherwise we may have collisions with statically linked symbols and the dynamic ones. APR::Pool relies on interpreter management functions and therefore can't be used outside mod_perl. Status: