Great scott, another reply! ;-)
On Jan 17, 2008 our monk Rob told me (in #662812):
I don't have the expat library in a place where it's found by default, so I ran
your XML-Parser distro by starting with perl Makefile.PL
INC="-IC:/_32/msys/1.0/local/include" LIBS="-LC:/_32/msys/1.0/local/lib
-lexpat" and that all works fine on Strawberry Perl (5.10). But doing
the same on my own MinGW-built perl 5.10, all of the tests fail (during 'dmake
test') because Can't find 'boot_XML__Parser__Expat' symbol in
C:\_32\comp\XML-Parser-2.36_04\blib\arch/auto/XML/Parser/Expat/Expat.dll.
I don't know why such a discrepancy arises. The CPAN version of
XML-Parser-2.36 builds fine on *both* of those aforementioned builds of perl. I
use different versions of dmake when building modules for those 2 builds of perl
- but I doubt that's the reason. More likely some difference in EU::MM, I
suspect.
I suspect you're right about that.
I can say this much about the failure: it is due to the way the DLL was made, i.e.
the way gcc was invoked. I know this because it was the last flaw I found when
I was writing the build support changes; it is the lack of the flag
--export-all-symbols that causes this. The DLL that gets
built (blib/arch/auto/XML/Parser/Expat/Expat.dll) doesn't
have any symbols from the object file built by the previous command because they are
not marked for export in any way.
As to what could be interfering on your home-built Perl-5.10 installation, I don't
know, but I would be happy as a barnacle by the bay if at some point we could figure
it out, since I want this strategy to be as robust as possible.
It could help if you might be able to confirm the complete command line that is
being run in the linking step that creates the DLL, so that we can confirm my
diagnosis about --export-all-symbols, by running the
build attempt again and capturing the console output.
Just other one point to get clarified right now (I'm going to separately mention
your wise point about not removing the dlltool stuff
if its working consistently in another note): you mentioned that "the CPAN release
of XML-Parser-2.36 builds fine on both machines"; but it cannot be
automatically built and installed using cpan, eh (the only way to
build-test-install it is with the manual addition of commandline arguments)?
Gracias!
|