Tue Feb 07 12:57:02 2017: Request 120131 was acted upon.
Transaction: Correspondence added by jrushwo...@divestco.com
       Queue: PAR-Packer
     Subject: Re: [rt.cpan.org #120131] PAR::Packer DynaLoader Problem On 
Strawberry Perl 5.24.1
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: jrushwo...@divestco.com
      Status: rejected
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=120131 >


Roderich,

You are correct e88b1fb1.xs.dll is identical to PNG.xs.dll but what that 
means is:

[james.r@jrushworth PNG]$ objdump -ax PNG.xs.dll | perl -ne 'print if 
/DLL Name/'
        DLL Name: msvcrt.dll
        DLL Name: libpng16-16__.dll
        DLL Name: KERNEL32.dll
        DLL Name: perl524.dll

C:\Users\james\AppData\Local\Temp\par-6a616d6573\cache-c1546264452e74db829440ed61c603745f7769ed>objdump
 
-ax e88b1fb1.xs.dll | perl -ne "print if /DLL Name/"
         DLL Name: msvcrt.dll
         DLL Name: libpng16-16__.dll
         DLL Name: KERNEL32.dll
         DLL Name: perl524.dll

objdump for both files shows exactly the same links.

The original error message tells us that it can't find e88b1fb1.xs.dll 
but the same file is in the executable called PNG.xs.dll. Why is it able 
to find the file if Strawberry Perl is installed on the machine but not 
if it isn't. One of the things I tried is installing Strawberry Perl on 
the machine immediately after getting the error message and starting a 
new command prompt with Strawberry Perl in the path and having the 
executable run with no error.

ttfn

jr


Roderich Schupp via RT wrote:
> <URL: https://rt.cpan.org/Ticket/Display.html?id=120131 >
>
> On 2017-02-07 11:34:00, jrushwo...@divestco.com wrote:
>> I tried the pp command with the --link libpng16-16__.dll option and
>> found  libpng16-16__.dll included with the executable (it definitely
>> wasn't without the --link option) but running the executable on a
>> Windows 10 machine with no Perl installed produced exactly the same
>> error.
>>
>> It seems to me that e88b1fb1.xs.dll is some kind of dynamic file which
>> gets created if Perl is installed but not if there is no Perl.
>
> No, it's not a dynamic file, it's actually one of the files that you see with
>
> unzip -l your.exe
>
> but extracted into the cache area with a different name (it's the CRC32 
> checksum
> of the original file's contents). My guess would be .../Tk/PNG/PNG.xs.dll
> (verify by comparing the output of md5sum or sha1sum for the two files).
>
> Anyway, look up the DLLs that this file is actually linked with, e.g.
>
> objdump -ax 
> C:\Users\NTHOMP~1\AppData\Local\Temp\par-6e74686f6d70736f6e\cache-a689a490f84fa6e443fb002bba992a32a268b542\e88b1fb1.xs.dll
>  | perl -ne 'print if /DLL
> Name/'
>
> Most likely it's not only linked with some libpng*, but also some libz*.
> Add another --link option for that, rinse and repeat.
>
> Cheers, Roderich
>
>
>
>
>
>
>
>
>


-- 
James P. Rushworth
Senior Support Analyst

Divestco Geomatics

P: 587-952-8168  www.divestco.com
C: 403-370-0519  300, 520 - 3 Avenue SW
F: 587-952-8372  Calgary, AB  T2P 0R3

This e-mail is intended solely for the person or entity to which it is
addressed and may contain confidential or privileged information.  Any
use of this e-mail by any other person is prohibited.  If you have
received this e-mail in error, please contact the sender. We honour
similar requests relating to the privacy of email communications.

Reply via email to