Dominique Quatravaux wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello mod_perl hackers,

Contrary to what I (mis?)understood from the documentation, MP_DEBUG
does not allow one to link mod_perl against the debugging libperl.a:

~  $   debugperl Makefile.PL MP_INST_APACHE2=1 MP_APXS=/usr/bin/apxs2    \
~      MP_APR_CONFIG=/usr/bin/apr-config MP_DEBUG=1
~  [...]
~  $   grep MODPERL_LDOPTS src/modules/perl/Makefile

MODPERL_LDOPTS = -rdynamic  -L/usr/local/lib
/usr/lib/perl/5.6.1/auto/DynaLoader/DynaLoader.a
- -L/usr/lib/perl/5.6.1/CORE -lperl -ldl -lm -lc -lcrypt

...No -lperld there (not that it would help my case, I need a
"-ldebugperl" for Debian's perl-debug packaging anyway). After reading
the source, I thought I found a way to trick ExtUtils::Embed into
doing what I want. I appended "-- -ldebugperl" onto the Makefile.PL
command line, but the result was thus:

MODPERL_LDOPTS =  -rdynamic  -L/usr/local/lib
- -L/usr/lib/perl/5.6.1/CORE -ldebugperl -ldebugperl

And so DynaLoader.a is gone, and of course the resulting mod_perl.so
doesn't bootstrap.

How can I link with -ldebugperl without manually fiddling with the
Makefile (which I did, and it works great)?

Dominique, I guess we (developers) all have perl built with debug enabled, so we never needed this feature. I suppose you could change the code to check whether libperld exists and link it instead of libperl under MP_DEBUG=1 (and send a patch here)? Please check how mp1 does it, if I remember correctly it did pick libperld under MP_DEBUG=1. If you need help, les us know. Thanks.


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

Reply via email to