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.