Skip Menu |

This queue is for tickets about the PAR CPAN distribution.

Report information
The Basics
Id: 6401
Status: resolved
Priority: 0/
Queue: PAR

People
Owner: Nobody in particular
Requestors: steve.hay [...] uk.radan.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.80_99
Fixed in: (no value)



Subject: Problem using pp with CPANPLUS::Backend
Place the following two lines in a file called "test.pl": use CPANPLUS::Backend; my $cpan = CPANPLUS::Backend->new(); Build "test.exe" by running "pp -o test.exe test.pl", then run "test.exe". It produces the following output: cannot find CPANPLUS\I18N\CPANPLUS.pot (called by CPANPLUS::I18N) in @INC at Locale/Maketext/Lexicon.pm line 370. Compilation failed in require at CPANPLUS/Backend.pm line 15. BEGIN failed--compilation aborted at CPANPLUS/Backend.pm line 15. Compilation failed in require at script/test.pl line 1. BEGIN failed--compilation aborted at script/test.pl line 1. I tried explicitly including the missing file using the -M option, but it either doesn't find it (using "-M CPANPLUS/I18N/CPANPLUS.pot") or else puts it in the "root" of the .exe ZIP file structure (using "-M C:\perl5\site\lib\CPANPLUS\I18N\CPANPLUS.pot") which then doesn't solve the problem. How do I include a non-Perl file such as this .pot file within the lib/ tree? I can't see any way to do it. This is on Win32 using perl-5.8.4 with PAR 0.80_99.
I've just tried this again, now using 0.83 and the new -a option instead, but it still doesn't work. In fact, it now has a warning followed by a fatal error trying to build the archive: C:\Temp>pp -a C:\perl5\site\lib\CPANPLUS\I18N\CPANPLUS.pot -o test.exe test.pl Use of uninitialized value in substitution (s///) at C:/perl5/site/lib/PAR/Packer.pm line 872. error: no member name given for Archive::Zip::NewFileMember=HASH(0x1d71d28) at C:/perl5/site/lib/App/Packer/PAR.pm line 104 format error: can't find EOCD signature Archive::Zip::Archive::_findEndOfCentralDirectory('Archive::Zip::Archive=HASH(0x8f41b4)', 'IO::File=GLOB(0xc1281c)') called at C:/perl5/site/lib/Archive/Zip.pm line 945 Archive::Zip::Archive::readFromFileHandle('Archive::Zip::Archive=HASH(0x8f41b4)', 'IO::File=GLOB(0xc1281c)', 'ppKrQnR.par') called at C:/perl5/site/lib/Archive/Zip.pm line 925 Archive::Zip::Archive::read('Archive::Zip::Archive=HASH(0x8f41b4)', 'ppKrQnR.par') called at C:/perl5/site/lib/Archive/Zip.pm line 523 Archive::Zip::Archive::new('Archive::Zip::Archive', 'ppKrQnR.par') called at C:/perl5/site/lib/Archive/Zip.pm line 211 Archive::Zip::new('Archive::Zip', 'ppKrQnR.par') called at -e line 388 eval {...} called at -e line 164 __par_pl::BEGIN() called at -e line 776 eval {...} called at -e line 776
Just tried again with PAR-0.85 and perl-5.8.5 and this command-line now works fine: pp -a "C:\perl5\site\lib\CPANPLUS\I18N\CPANPLUS.pot;lib\CPANPLUS\I18N\CPANPLUS.pot" -o test.exe test.pl I would therefore close this ticket, but RT won't let me :( - Steve