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: jrushwo...@divestco.com 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, jrushwo...@divestco.com 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, jrushwo...@divestco.com 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 > >