On Thu, Mar 8, 2012 at 21:30, chandrashekaran kannan <chandrashekaran_kan...@hotmail.com> wrote: > When the exe file is run > on machines which do not have C compilers installed on them, it throws an > error hinting libgcc_s_dw2-1.dll is not found. > C:\temp\objdump -ax sample.exe | find "DLL" > ... > DLL Name: libgcc_s_dw2-1.dll
That's the problem: the packed executable (actually a copy of myldr\boot.exe with some stuff appended) has been linked with libgcc*.dll. We don't do that on purpose, the MingW (GCC) toolchain does that implicitly (under certain conditions which seem to proliferate with any new version of GCC). The only way to solve the problem is to link statically with libgcc*. Please try the following: - find the following lines in myldr\Makefile.PL in the unpacked PAR-Packer tarball $boot_exe: boot$o \$(CC) boot$o \$(STATIC_LDFLAGS) $res $out$boot_exe_link $mt_cmd and change them to $boot_exe: boot$o \$(CC) boot$o \$(STATIC_LDFLAGS) -static-libgcc $res $out$boot_exe_link $mt_cmd - rebuild and reinstall PAR::Packer dmake clean perl Makefile.PL dmake dmake install - re-pack your script and try it out Cheers, Roderich