Wed Mar 11 10:08:08 2015: Request 102690 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR-Packer
Subject: Error with packing Check.xs.dll
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: [email protected]
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=102690 >
Am 2015-03-11 09:17:58, ZDM schrieb:
> Can't load 'D:\tmp\par-7a646d\cache-1426079581\b61437bc.xs.dll' for
> module multidimensional: load_file:The specified module could not be
> found at d:/devel/p
> erl/perl/lib/DynaLoader.pm line 193.
> at d:/devel/perl/perl/site/lib/PAR/Heavy.pm line 120.
> Compilation failed in require at script/1.pl line 5.
> BEGIN failed--compilation aborted at script/1.pl line 5.
>
> b61437bc.xs.dll is the alias for auto/B/Hooks/OP/Check/Check.xs.dll
How did you determine this?
> But in PAR this is completely different file, than original. I don't
> know why, maybe you compress dlls or do something else, but this
> didn't work with this dll.
The only thing PAR::Packer does with DLLs (and most other files):
- it stores them into a zip file (using Archive::Zip)
- at runtime it extracts them under the mangled name, actually it uses
the zip's crc32 checksum of the file as the mangled basename
Extract auto/B/Hooks/OP/Check/Check.xs.dll from your exe manually,
unzip 1.exe
and compare with the above cache file. If there different, it's
an Archive::Zip problem. If there identical, my guess is that it's
Check.xs.dll compiled for a different Perl version (do you have
several Perl versions installed on your machine?). BTW, have you
checked that 1.pl works in unpacked form?
Cheers, Roderich