in reply to Re^2: Imager::File::TIFF Dependencies
in thread Imager::File::TIFF Dependencies

ppsimple produced exactly the same error message when the exe file was run.

I'm sorry but thats is impossible :)

That like saying "doesn't work" without disclosing basic diagnostic/debugging output , which ppsimple.pl produces by default

update: well I just tested it, it works as expected, so I don't know what you did, I wish you would show me the log

Replies are listed 'Best First'.
Re^4: Imager::File::TIFF Dependencies
by BrentD (Sexton) on May 24, 2017 at 19:41 UTC

    What I meant was that ppsimple.pl compiled the file as expected, with no error messages, but when I ran the resulting .exe file, it produced exactly the same error message as if it were built with pp. I deleted all .exe's in my build folder and changed the output file name before building with ppsimple.pl so I made absolutely sure I was not running an exe file built with pp.

    It's very easy to reproduce my problem.


    1. Install Strawberry Perl (64-bit) 5.24.0.1
    2. Grab the code below and save to a file
    3. Use either pp or ppsimple.pl to build an exe.
    4. Copy the resulting .exe file to a machine WITHOUT Perl installed. (This is VERY Important. If you run the .exe on a machine with a working Perl install, it works fine.)
    5. Run the .exe. You will see the error messages from my original post, regardless of whether the file was built with pp or ppsimple.pl

    Here's the simplest example of code with the problem:

      Thats hilarious

      So are you going to post the log, the debug output, yes or no?

        The log file of the ppsimple.pl compile is below. All 13,103 lines of it.

        Another user tested the code I posted and found the problem. We discovered that BOTH pp and ppsimple.pl miss some dependencies required by TIFF.xs.dll. On a system with perl installed, the resulting EXE works because the dependencies can be dynamically loaded from the perl install.

        The missing dependencies are:

        c:\strawberry\c\bin\LIBTIFF-5__.DLL
        c:\strawberry\c\bin\LIBJPEG-9__.DLL
        c:\strawberry\c\bin\LIBLZMA-5__.DLL
        c:\strawberry\c\bin\ZLIB1__.DLL

        There is no indication in the ppsimple.pl output that those files were needed. so the log wouldn't really have been helpful at all. The answer was having Dependency Walker profile the .exe and look for modules loaded at run-time.

        Here's the log generated by the command C:\Source_Repos\TestProg>ppsimple.pl errtest.pl 1> ppsimple.log 2>&1