Thanks for the help. You pointed me in the right direction. I've got it working (almost. I'll explain what I had to do later for anyone who's interested).
However, when I try to run my exe on a machine that does not have perl installed, I get a "The application has failed to start because Perl56.dll was not found. Re-installing the application may fix this problem." windows error. Looking at the FAQ (http://par.perl.org/index.cgi?FAQ), I tried running with pp with these options: pp --gui -d -o report.exe gui.pl But pp resulted in: Unknown option: gui Unknown option: d How can I build an exe that does not require perl installed on the machine? As for how I got pp to work at all: -removed my hand installed PAR -installed PAR by ppm -however, the version of PAR on ActiveState used an older version of Compress:Zlib that was installed (I had 1.22. PAR was looking for 1.16) -So, I downloaded an older build zip file of active perl (build 635), and 'downgraded' my version of Compress::Zlib to 1.16 (I just extracted site\lib\Compress\ and site\lib\auto\Compress\ to my Perl Directory) -I also had to install Archive::Zip, as well. Again, thanks for the help! Chris Shaffer Application Developer, BSTCAD/BSTProcess BSTCAD Support Forums [EMAIL PROTECTED] (404) 927-1227 -----Original Message----- From: the.noonings [mailto:[EMAIL PROTECTED] Sent: Thursday, December 23, 2004 9:38 AM To: Shaffer, Chris Cc: [email protected] Subject: Re: FW: Problem Building exes on Win32 Shaffer, Chris wrote: >Sure.... I can execute this script (as perl): > > #!C:/Perl/bin/perl.exe > > print "Hello World!"; > > exit(); > >I'm trying to build an exe with this command: > > C:\Dev>pp -o out.exe test.pl > >I get this from pp: > > Can't locate Cwd.pm in @INC (@INC contains: CODE(0xa20874) .) at >C:/Perl/lib/File/Spec/Win32.pm line 4. > BEGIN failed--compilation aborted at C:/Perl/lib/File/Spec/Win32.pm >line 4. > Compilation failed in require at C:/Perl/lib/File/Spec.pm line 15. > Compilation failed in require at C:/Perl/lib/IO/File.pm line >113. > BEGIN failed--compilation aborted at C:/Perl/lib/IO/File.pm line >113. > Compilation failed in require at -e line 305. > >Where should par be installed? Right now, I've just have it installed >in C:\Perl, and I've added C:\Perl\script to my PATH. Could that be >causing my problems? > >Chris Shaffer >Application Developer, BSTCAD/BSTProcess >BSTCAD Support Forums >[EMAIL PROTECTED] >(404) 927-1227 > > >-----Original Message----- >From: the.noonings [mailto:[EMAIL PROTECTED] >Sent: Wednesday, December 22, 2004 7:26 PM >To: Shaffer, Chris >Cc: [email protected] >Subject: Re: Problem Building exes on Win32 > > >Shaffer, Chris wrote: > > > >>Yes, I can run it as a perl script... Like I said, this happens even >>if I'm NOT using Cwd... >> >>Chris Shaffer >> >> >>-----Original Message----- >>From: the.noonings [mailto:[EMAIL PROTECTED] >>Sent: Wednesday, December 22, 2004 1:57 PM >>To: Shaffer, Chris >>Cc: [email protected] >>Subject: Re: Problem Building exes on Win32 >> >> >>Shaffer, Chris wrote: >> >> >> >> >> >>>I'm having problems getting pp to build an executable on WindowsXP. >>>When I execute: >>> >>> pp -o output.exe input.pl >>> >>>I get this: >>> >>> Can't locate Cwd.pm in @INC (@INC contains: CODE(0xa20874) .) at >>> >>> >>> >>> >> >> >> >> >>>C:/Perl/lib/File/Spec/Win32.pm line 4. >>> BEGIN failed--compilation aborted at >>> >>> >>> >>> >>C:/Perl/lib/File/Spec/Win32.pm >> >> >> >> >>>line 4. >>> Compilation failed in require at C:/Perl/lib/File/Spec.pm line >>> >>> >>> >>> >>15. >> >> >> >> >>> Compilation failed in require at C:/Perl/lib/IO/File.pm line >>> >>> >113. > > >>> BEGIN failed--compilation aborted at C:/Perl/lib/IO/File.pm line >>> >>> >113. > > >>> Compilation failed in require at -e line 305. >>> >>>Doesn't matter what's in 'input.pl'. Could just be a 'hello world' >>>type program. It will fail. Any ideas what I'm missing? >>> >>>Chris Shaffer >>> >>> >>>Chris Shaffer >>>Application Developer, BSTCAD/BSTProcess >>>BSTCAD Support Forums >>><http://forums.ecars.bst.bls.com/viewforum.php?f=2> >>>[EMAIL PROTECTED] >>>(404) 927-1227 >>> >>> >>>***** >>>"The information transmitted is intended only for the person or >>>entity >>> >>> > > > >>>to which it is addressed and may contain confidential, proprietary, >>>and/or privileged material. Any review, retransmission, dissemination >>> >>> > > > >>>or other use of, or taking of any action in reliance upon, this >>>information by persons or entities other than the intended recipient >>>is >>> >>> >>> >>> >> >> >> >> >>>prohibited. If you received this in error, please contact the sender >>>and delete the material from all computers." 118 >>> >>> >>> >>> >>> >>> >>> >>> >>It cannot find Cwd.pm, but that you know. Can you your script as a >>perl file? Do you have your perl library or Cwd.pm in a non-standard >>place? >> >> >>***** >>The information transmitted is intended only for the person or entity >>to which it is addressed and may contain confidential, proprietary, >>and/or privileged material. Any review, retransmission, dissemination >>or other use of, or taking of any action in reliance upon this >>information by persons or entities other than the intended recipient >>is >> >> > > > >>prohibited. If you received this in error, please contact the sender >>and delete the material from all computers. 162 >> >> >> >> >> >> >Hmmm. I am using Windows XP, and also Windows Millenium. I created my > >executable on XP and ran it, and also ran it on my Millenium machine. >BTW my Millenium machine does not have perl installed. I have perl >v5.8.4 on my XP machine. I know this does not really help much. Can >you post a simple script that shows the symptoms you described? > >***** >"The information transmitted is intended only for the person or entity >to which it is addressed and may contain confidential, proprietary, >and/or privileged material. Any review, retransmission, dissemination >or other use of, or taking of any action in reliance upon, this >information by persons or entities other than the intended recipient is >prohibited. If you received this in error, please contact the sender >and delete the material from all computers." 118 > > > > I spotted something. Namely, your INC path. If par/pp is installed correctly, then the executable that is created, when it executes for the first time, it creates a cache directory. I put in a fake "use ka4k;" in the test.pl code so the out.exe would fail. It gave me : Can't locate ka4k.pm in @INC (@INC contains: CODE(0xd8d08c) C:\DOCUME~1\malcolm\LOCALS~1\Temp\par-malcolm\cache-af1dd249 c8f8ef3e86132e16fda49a1fcea0df2a/inc CODE(0xd34858) .) at script/test.pl line 2. BEGIN failed--compilation aborted at script/test.pl line 2. Notice the long cache name. The exe should be using the perl files of the cache directory. NOT the perl files under c:\Perl. The exe should run without perl being installed on your machine at all. Here is something you can try. Go back to whatever directory you used to download, unpack and test par. Somewhere under there (the contrib directory, I think) is a file called automated_pp_test.pl that you can run. Try to run it and see if everything that should pass, does pass. If not, there is a problem with the installation. If they do pass, then I would be at a loss as to what to do next. Except possibly reinstall par from a fresh directory. ***** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers. 162
