----- Original Message -----
From: "BobH" <gi1zss5...@sneakemail.com>
To: <par@perl.org>
Sent: Wednesday, April 08, 2009 6:49 AM
Subject: PAR-Packer on Win32
perl -v says:
This is perl, v5.10.0 built for MSWin32-x86-multi-thread
(with 5 registered patches, see perl -V for more detail)
Binary build 1004 [287188] provided by ActiveState
http://www.ActiveState.com
Built Sep 3 2008 13:16:37
PAR 0.991 and PAR-Dist 0.44 installed using ppm.
Two queries:
One:
I first installed PAR-Packer 0.991 using the cpan command. Built
an EXE that ran successfully on *my* machine but not on others.
Sleuthing led me to the fact that PARL.EXE depends on MSVCR90.DLL (From
Visual Studio 2008, iirc) and which wasn't installed on the other
machines.
Is there an appropriate way in this configuration to build an EXE that
will work on machines that do not have MSVCR90 already installed?
No - if there's an msvcr90.dll dependency then those other machines will
need msvcr90.dll.
Two:
On another nearly identical configuration, I've installed MS Visual
Studio 6, SP6 with the goal of building a PARL.EXE that is dependent on
MSVCRT.DLL which I think most people have.
Yes, they'll certainly have msvcrt.dll, and building with VC 6 will ensure
that the msvcr90.dll dependency is replaced with an msvcrt.dll dependency.
With a fresh unpack of
Par-Packer-0991.tar.gz, doing the build incantation:
nmake clean
Perl Makefile.pl
nmake
nmake par
Things are fine until after the tests. Output is:
All tests successful, 1 test and 1 subtest skipped.
Files=4, Tests=69, 629 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00
CPU)
nmake test -nologo
C:\Perl\bin\perl.exe -e1
cd ..
Cannot copy PAR-Packer-0.991-MSWin32-x86-multi-thread-5.10.0.par: Bad
file descr
iptor at C:/Perl/site/lib/PAR/Dist.pm line 275.
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x9'
Stop.
I don't quite follow ... you've obviously run 'nmake test' though the
commands you said you ran don't include 'nmake test'.
Or does running 'nmake par' first run the tests ? I've never run 'nmake
par'. What does it do ?
I would have thought that all you need to do is run:
nmake clean (not needed if it's a fresh unpack)
Perl Makefile.pl
nmake test
nmake install
Then build your exe, and all should (hopefully) be fine when you transfer
that exe to these other boxes.
Cheers,
Rob