----- Original Message ----- From: "chm"

Any ideas on 3) ? I'll take a look as time permits.
The error message suggests that there's a dll that can't be found, but
usually when that's the problem one gets a pop-up that provides the name
of the dll that can't be found - and that's not happening in this case :-(
My 32-bit compiler is gcc-4.5.2, as provided by mingw.org. If you've
been testing with Strawberry Perl you've probably been using gcc-4.4.x,
as provided by mingw64.sf.

I've never gotten the error popup with the missing
DLL info for my perl/PDL builds.  If there were a
setting to enable it for testing, that would make
windows debugging go more smoothly.

For me, I mostly (but not always) get the pop-up.
I'm trying to think what would account for the apparent randomness of this behaviour ... and have drawn a blank.
Maybe it really is *random* :-)

Luckily, MinGW's objdump utility reveals that the auto/PDL/Drawing/Prima/Prima.dll depends upon (the non-existent) dll.exp.dll :

#################################
C:\>objdump -x Prima.dll | grep "DLL Name"
       DLL Name: KERNEL32.dll
       DLL Name: msvcrt.dll
       DLL Name: libgcc_s_dw2-1.dll
       DLL Name: perl512.dll
       DLL Name: dll.exp.dll
#################################

dll.exp.dll is a file that sometimes gets created during the build of a perl extension (triggered by god knows what), but doesn't seem to be built in this instance (and doesn't exist any place that I can find). I satisfied the dependency by sticking a copy of another dll (renamed to dll.exp.dll) adjacent to Prima.dll - but then the error just changes to:
load_file:The specified procedure could not be found

Apparently this 'dll.exp.dll' must contain something useful.
In fact, on close inspection of the rather voluminous 'objdump -x Prima.dll' output, I find:

DLL Name: dll.exp.dll
vma:  Hint/Ord Member-Name Bound-To
36948   495  apc_gp_draw_poly
3695c   500  apc_gp_fill_poly
36970   803  gimme_the_mate
36984   804  gimme_the_vmt

When I look at the corresponding x64 Prima.dll (which has no dll.exp.dll dependency) I find that these are the very functions that *Prima.dll* itself is supposed to export.

I'm glaring (with some suspicion, and much disdain) at Module::Build ....

Time to get the shovel out.

Cheers,
Rob

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to