Subject: | missing dll |
I have built a simple 'Hello World!' Perl program into an executable
using pp -o mytest.exe mytest.pl. This runs fine when the PATH includes
the C compiler directory, but if I run it without I get the message 'The
program can't start because libgcc_s_dw2-1.dll is missing from your
computer. Try reinstalling the program to fix this problem.' Including
the library with the -l option has no outward effect, though it is
included in the executable (I've unzipped it to verify) and does appear
to go into the cache directory (in Par::Packer version 1.008 it was
under the inc/shlib subdirectory, and in version 1.009 it is in the main
directory).
I am running:
-Windows 7 Professional
-ActivePerl 5.12.3 (32 bit)
-MinGW gcc 4.5.2 (where the libgcc_s_dw2-1.dll is from)
-PAR 1.002
-Module-ScanDeps 1.02
-PAR-Packer 1.009
Background: I'm looking to build some programs to simplify my
organization's internal processes. No one else is familiar with Perl or
C, and I can't make people learn or install it on their computers. In
the event that I'm away and can't run the processes, I could leave
programs to run with simple instructions. pp seems to be a good solution
so that I can use Perl, except for this issue.
I filed this on the CPAN forum for PAR::Packer, and Roderich's response
was: ...it's a bug in PAR::Packer. Please file a report at rt.cpan.org
(for distribution "PAR-Packer") so that it doesn't get lost - basically
cut+paste your post here.
Shouldn't be too hard to fix, because the mechanism to pack some
libgcc_*.dll is already there, but it expects this DLL to be in the same
directory as perl.exe itself.