Tue Feb 07 11:34:00 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,

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.

ttfn

jr

Roderich Schupp via RT wrote:
> <URL: https://rt.cpan.org/Ticket/Display.html?id=120131 >
>
> On 2017-02-06 22:26:13, jrushwo...@divestco.com wrote:
>> This is the error message:
>>
>> Can't load
>> 'C:\Users\NTHOMP~1\AppData\Local\Temp\par-6e74686f6d70736f6e\cache-
>> a689a490f84fa6e443fb002bba992a32a268b542\e88b1fb1.xs.dll'
>> for module Tk::PNG: load_file:The specified module could not be found
>> at
>> C:/Perl64/perl/lib/DynaLoader.pm line 193.
>
> Most likely the Perl "glue" library for Tk::PNG (probably called 
> .../TK/PNG/PNG.xs.dll)
> is linked with the png library (included in Strawberry Perl as 
> c/bin/libpng16-16__.dl),
> but this libpng isn't included in the executable generated by pp.
>
> PAR::Packer doesn't know about dependencies like this and never packs non-Perl
> libraries unless explicitly told to do so. In this case
>
> pp --link libpng16-16__.dll ...
>
> should do the trick. You may verify that libpng gets packed by looking at the
> output of
>
> unzip -l your.exe
>
> In general, if module Foo::Bar shows this problem, locate its "glue" library
> .../Foo/Bar/Bar.xs.dll, then run
>
> objdump -ax ../Foo/Bar/Bar.xs.dll | perl -ne 'print if /DLL Name/'
>
> to show the libraries it is linked with, e.g.
>
>          DLL Name: msvcrt.dll
>          DLL Name: libpng16-16__.dll
>          DLL Name: KERNEL32.dll
>          DLL Name: perl524.dll
>
> Ignore Windows system libraries like msvcrt.dll and KERNEL32.dll, also the
> Perl shared library perl*.dll. The rest should be specified as --link's
> on the pp command line.
>
> 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