On Tue, 29 Jun 2004, Stas Bekman wrote:

> It seems that perl 5.6.x is no longer working with mp2, and that's a pretty
> recent breakage I believe.
>
> The server fails to start:
>
> Cannot load
> /home/stas/apache.org/mp2-pool/src/modules/perl/mod_perl.so into
> server: /home/stas/apache.org/mp2-pool/src/modules/perl/mod_perl.so:
> undefined symbol: boot_DynaLoader
>
> This happens because
>
>    my $ldopts = ExtUtils::Embed::ldopts();
>
> from Apache::Build doesn't get Dynaloader.a included. This in turn happens
> because something happens to catdir. In ExtUtils::Embed::ldopts, the line
>
>    $root = $MM->catdir(@ns);
>
> passes "DynaLoader" as the only contents of @ns, but catdir receives
> some bogus object parameter: MY=HASH(0x9379394)
>
> Here is the output from debuger:
>
>    DB<4> n
> ExtUtils::Embed::ldopts(/home/stas/perl/5.6.1/lib/5.6.1/ExtUtils/Embed.pm:188):
> 188:            $root = $MM->catdir(@ns);
>
>       DB<4> p $sub
> DynaLoader
>
>       DB<5> p @ns
> DynaLoader
>
>       DB<6> s
> File::Spec::Functions::CODE(0x81e9664)(/home/stas/perl/5.6.1/lib/5.6.1/File/Spec/Functions.pm:41):
> 41:         *{$meth} = sub {&$sub('File::Spec', @_)};
>
>       DB<6> p "@_"
> MY=HASH(0x9379394) DynaLoader
>
> Someone messes with catdir, but I can't figure out where does this
> happen.
>
> Randy, is it possible that some recent win32 changes have caused that?
> I see that problem on linux, but is it possible that some catdir
> override has happened?

Hi Stas,

Although anything's possible, of course, I don't see at the
moment where this happened due to recent win32 changes. The
changes concerning decoupling APR from mod_perl specific to
Win32 were all wrapped around if(WIN32) {}, except for
building xs/APR/aprext/, which should do nothing on
non-Win32, as the dynamic and static targets were skipped.
Before this sequence of changes there were some Win32 ones
in the tests, but these probably are irrelevant to this
problem.

Unfortunately, I don't have a perl-5.6 available (except
for a Win32 one, but that can't build mp2). Do you know if
it was working before I committed your large patch for
decoupling APR from mod_perl.so (before any of the Win32
stuff was put in)?

I looked at my ExtUtils::Embed. One, version 1.2505, has
  $root = $MM->catdir(@ns);
where
   my $MM = bless {} => 'MY';
from a few lines earlier. Perhaps the stray MY object
reference is related to this "MY". Can you see what
happens if you upgrade ExtUtils::Embed - version
1.25061 has the corresponding line
   $root = File::Spec->catdir(@ns);

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to