[rt.cpan.org #120131] PAR::Packer DynaLoader Problem On Strawberry Perl 5.24.1

"Shawn Laffan via RT" <[email protected]>
Newsgroups gmane.comp.lang.perl.par
Message-ID <[email protected]>
Tue Feb 07 15:41:20 2017: Request 120131 was acted upon.
Transaction: Correspondence added by SLAFFAN
       Queue: PAR-Packer
     Subject: PAR::Packer DynaLoader Problem On Strawberry Perl 5.24.1
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: rejected
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=120131 >


Dependency Walker is an alternate means of finding the required dlls.  It lists the full tree, so is particularly when there are large numbers of them.  

http://www.dependencywalker.com/

Shawn.



On Tue Feb 07 14:18:13 2017, [email protected] wrote:
> Roderich,
> 
> That worked. I also linked zlib1__.dll and the program ran with no
> errors. Now I just need to track down the required link commands for
> the
> other three modules I need for my program to run and I'll be good to
> go.
> 
> You really know your stuff.
> 
> Thanks.
> 
> ttfn
> 
> jr
> 
> Roderich Schupp via RT wrote:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=120131 >
> >
> > On 2017-02-07 12:57:02, [email protected] wrote:
> >
> >> 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
> >
> > OK, so PNG.xs.dll only links with libpng16-16__.dll, but try the same
> > command on libpng16-16__.dll and you'll see that it's linked with
> > some libz*.dll
> > (which should be added by a --link option).
> >
> >> 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.
> >
> > The actual error message from Perl is rather misleading. Perl's
> > DynaLoader
> > wants to load the "glue" DLL for Tk::PNG, but it fails because the
> > Windows DLL loader can't find a library that it is directly or
> > indirectly
> > linked with. If the machine you run the executbale on has Strawberry
> > installed,
> > then it *has* the libraries (and the Strawberry installation makes
> > sure that
> > their location is added to the PATH environment variable). If
> > Strawberry isn't
> > installed and the libraries haven't been packed in either, then
> > you'll
> > see the error message.
> >
> > Cheers, Roderich
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.