in reply to Packaged binary fails on perlless systems [win32]
You want to use one or more of -n -x -c options, so pp runs your program to generate a list of files to pack. And you want to try out your resulting exe locally by set path=
see Re: Problem in creating exe using PAR module, Re^2: Packaging Perl Programs (is) Painful, Re: Building a Mojolicious app with PAR::Packer
Re^2: Packaged binary fails on perlless systems [win32]
by Stamm (Sexton) on Apr 26, 2011 at 19:47 UTC
|
Thanks for the tip to test locally. It's a lot better than to use a second computer.
I tried to use the other flags but pp finds exactly the same dependencies and the problem is the same.
It seems that IO.dll is missing from the package. I included it with the -l flag but it still fails with the same error... :-( I don't even know what to try now... | [reply] |
|
You don't mention if You're running the latest PAR::Packer version (1.009 according to CPAN).
I suggest You also take a look at Cava Packager, another free Perl application packager. It is a very a nice GUI tool, unfortunately IMHO not very known.
| [reply] |
|
Yes, I'm using the latest version. As for Cava Packager, I did try it before posting, but I found it hard to use and the generated installer contained all the needed DLLs but none of the PM...
| [reply] |
|
It's not that I don't believe you, but I can't seem to replicate your problem :) It works for me on the first try.
I included it with the -l flag but it still fails with the same error... :-(
You shouldn't need the -l flag for those, the -l flag is for things like libgcc_s_dw2-1.dll
I don't even know what to try now... Try the usual, that is, upgrade, check the FAQ, check the bug que, turn on debugging, then show us the output.
Here is how I tried
output before packing
output after packing
Actually testing without path reveals I forgot my perl needs C:/MinGW/bin/libgcc_s_dw2-1.dll
Read more... $ objdump -p foo.exe |grep DLL.Name (578 Bytes)
I'm using
Read more... $ pmvers IO IO::File pp PAR PAR::Packer Module::ScanDeps (510 Bytes)
| [reply] [d/l] [select] |
|
When you were writing your answer, I switched from ActivePerl to CitrusPerl and it worked on the first try too. So something must be wrong with PAR::Packer with my ActivePerl. All the installation steps were successful though.
I will try with StrawberryPerl, then try reinstalling ActivePerl. I will try with your simple foo.pl instead of the whole program too. I will let you know the result of my tests. Thanks for all your pointers.
And if it doesn't work, I will stick with CitrusPerl...
| [reply] |
|
|
| [reply] |
|
|