Skip Menu |

This queue is for tickets about the PAR-Packer CPAN distribution.

Report information
The Basics
Id: 35882
Status: open
Priority: 0/
Queue: PAR-Packer

People
Owner: Nobody in particular
Requestors: djh [...] cpan.org
jsailor-cpan [...] jesnetplus.com
Cc:
AdminCc:

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



Subject: pp -P => Can't locate PAR/Heavy.pm
When I run pp -P and try to execute the resulting file on another machine with a newer perl, it produces the error: Can't locate PAR/Heavy.pm Details below and details of perls below that: On source machine: $ pp -P -o testP -e 'print "Hi!\n"' $ perl testP Hi! $ scp testP pcx36:testP On pcx36: $ perl testP Can't locate PAR/Heavy.pm in @INC (@INC contains: CODE(0x81b6cb8) /usr/lib/perl5/5.8.8/i586-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at /usr/bin/par.pl line 373. On source: $ uname -a Linux cpepc210-3 2.6.11.4-21.15-smp #1 SMP Tue Nov 28 13:39:58 UTC 2006 i686 i686 i386 GNU/Linux $ perl -V Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=linux, osvers=2.6.9, archname=i586-linux-thread-multi uname='linux g226 2.6.9 #1 smp tue jun 28 14:58:56 utc 2005 i686 i686 i386 gnulinux ' config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3.5 20050117 (prerelease) (SUSE Linux)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.6/i586-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under linux Compiled at Dec 17 2005 03:23:29 %ENV: PERL5LIB="/home/dhoworth/progs/modules" PERLDOC_PAGER="vi" @INC: /home/dhoworth/progs/modules /usr/lib/perl5/5.8.6/i586-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl . On pcx36: $ uname -a Linux pcx36 2.6.22.13-0.3-default #1 SMP 2007/11/19 15:02:58 UTC i686 i686 i386 GNU/Linux $ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.22, archname=i586-linux-thread-multi uname='linux ravel 2.6.22 #1 smp 20070921 22:29:00 utc i686 i686 i386 gnulinux ' config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g -Wall -pipe' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g -Wall -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement' ccversion='', gccversion='4.2.1 (SUSE Linux)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.6.1.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.6.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.8/i586-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Nov 8 2007 00:49:06 @INC: /usr/lib/perl5/5.8.8/i586-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .
G'day DJH, On Wed May 14 10:56:44 2008, DJH wrote: Show quoted text
> When I run pp -P and try to execute the resulting file on another > machine with a newer perl, it produces the error: Can't locate
PAR/Heavy.pm As far as I can tell, using -P always results in a script that requires that PAR be installed on the target system. Having 'pp -P' produce a program that can be executed without PAR on the target system is high on my wish-list as well. :)
From: djh [...] cpan.org
On Thu May 22 23:23:38 2008, PJF wrote: Show quoted text
> As far as I can tell, using -P always results in a script that requires > that PAR be installed on the target system. > > Having 'pp -P' produce a program that can be executed without PAR on the > target system is high on my wish-list as well. :)
I submitted it as a bug, not a wishlist item, because that's what the POD says the behaviour is (the distinction between -p and -P especially as documented under the NOTES section). If you say it's wishlist, then I don't understand the distinction between -p and -P. Given what you say, I guess the POD needs fixing but I don't understand what it should say. I'd have to say that the statement 'You may think of pp as "perlcc that works without hassle". :-)' also seems a bit overstated! Cheers, Dave
On Wed May 14 10:56:44 2008, DJH wrote: Show quoted text
> When I run pp -P and try to execute the resulting file on another > machine with a newer perl, it produces the error: Can't locate
PAR/Heavy.pm Running an .exe generated on a clean XP Pro SP3 by: pp -o foo.exe foo.pl on the same system (with C:\strawberry (5.10.1.0) temporarily renamed), I get the same error. One thing I noticed while trying to fix it is that @INC is listed as: C:/strawberry/perl/lib C:/strawberry/perl/site/lib C:\strawberry\perl\vendor\lib . On a hunch that there was something not quite right about that vendor/lib path, and after failing by various means to persuade pp to bundle PAR, I copied all the vendor/lib packages over to site/lib, compiled an .exe and it worked. vendor/lib makes perfect sense, of course, as the target for "value added" modules, but it looks like either PAR or Strawberry Perl is having some teething problems adjusting to it. The move away from site/lib was quite recent (September 2009). If anyone has a copy of Strawberry Perl 5.10.1.0 Beta 1 (the last version to use site/lib) and Beta 2 (the first version to use vendor/lib) lying around, it might be worth seeing if that transition broke pp.
On Sat Jan 09 18:30:25 2010, CHOCOLATE wrote: Show quoted text
> On Wed May 14 10:56:44 2008, DJH wrote:
> > When I run pp -P and try to execute the resulting file on another > > machine with a newer perl, it produces the error: Can't locate
> PAR/Heavy.pm > > Running an .exe generated on a clean XP Pro SP3 by: > > pp -o foo.exe foo.pl > > on the same system (with C:\strawberry (5.10.1.0) temporarily renamed), > I get the same error. One thing I noticed while trying to fix it is that > @INC is listed as: > > C:/strawberry/perl/lib > C:/strawberry/perl/site/lib > C:\strawberry\perl\vendor\lib > . > > On a hunch that there was something not quite right about that > vendor/lib path, and after failing by various means to persuade pp to > bundle PAR, I copied all the vendor/lib packages over to site/lib, > compiled an .exe and it worked. > > vendor/lib makes perfect sense, of course, as the target for "value > added" modules, but it looks like either PAR or Strawberry Perl is > having some teething problems adjusting to it. > > The move away from site/lib was quite recent (September 2009). If anyone > has a copy of Strawberry Perl 5.10.1.0 Beta 1 (the last version to use > site/lib) and Beta 2 (the first version to use vendor/lib) lying around, > it might be worth seeing if that transition broke pp.
I'm having the same issue. For me the 'fix' was installing PAR from the MSys 'shell'. This seems to have installed under site vs vendor. Now the issue of "Can't locate XXX" has moved to other modules that are installed under vendor, such as Archive::Zip.
From: snaury [...] gmail.com
Чтв Янв 28 00:54:49 2010, zephg писал: Show quoted text
> I'm having the same issue. For me the 'fix' was installing PAR from
the Show quoted text
> MSys 'shell'. This seems to have installed under site vs vendor. Now > the issue of "Can't locate XXX" has moved to other modules that are > installed under vendor, such as Archive::Zip.
Hi zephg, see bug #52794 for a possible fix on this: http://rt.cpan.org/Public/Bug/Display.html?id=52794
From: c.kras [...] pcc-online.net
On Sat 09 Jan 2010 18:30:25, CHOCOLATE wrote: Show quoted text
> On Wed May 14 10:56:44 2008, DJH wrote:
> > When I run pp -P and try to execute the resulting file on another > > machine with a newer perl, it produces the error: Can't locate
> PAR/Heavy.pm > > Running an .exe generated on a clean XP Pro SP3 by: > > pp -o foo.exe foo.pl > > on the same system (with C:\strawberry (5.10.1.0) temporarily renamed), > I get the same error. One thing I noticed while trying to fix it is that > @INC is listed as: > > C:/strawberry/perl/lib > C:/strawberry/perl/site/lib > C:\strawberry\perl\vendor\lib > . > > On a hunch that there was something not quite right about that > vendor/lib path, and after failing by various means to persuade pp to > bundle PAR, I copied all the vendor/lib packages over to site/lib, > compiled an .exe and it worked. > > vendor/lib makes perfect sense, of course, as the target for "value > added" modules, but it looks like either PAR or Strawberry Perl is > having some teething problems adjusting to it. > > The move away from site/lib was quite recent (September 2009). If anyone > has a copy of Strawberry Perl 5.10.1.0 Beta 1 (the last version to use > site/lib) and Beta 2 (the first version to use vendor/lib) lying around, > it might be worth seeing if that transition broke pp.
I ran into the same problem, as posted here http://stackoverflow.com/questions/2227796/why-doesnt-my-wxperl-application-for-windows-start. For me it got fixed by setting this flag to pp: --lib=C:/strawberry/perl/vendor/lib
On Sat Jan 09 18:30:25 2010, CHOCOLATE wrote: Show quoted text
> On Wed May 14 10:56:44 2008, DJH wrote:
> > When I run pp -P and try to execute the resulting file on another > > machine with a newer perl, it produces the error: Can't locate
> PAR/Heavy.pm > > Running an .exe generated on a clean XP Pro SP3 by: > > pp -o foo.exe foo.pl
I'd just like to record that I believe the message by CHOCOLATE and all subsequent posts are concerned with some different problem and should not be in this ticket. I'd be grateful if an admin could move them to a new ticket. As far as I'm concerned, the original bug that I reported is still open.
Try adding -B pp -P -B -o tweak.pard -M DBI -M DBD::CSV -M Archive::Tar -M Text::Glob -M URI `which tweak` Worked for me, for one case.