Sun Feb 07 21:27:54 2010: Request 42986 was acted upon.
Transaction: Correspondence added by TJC
       Queue: PAR
     Subject: PAR-based modules use system XS modules over included modules
   Broken in: 0.984
    Severity: Important
       Owner: Nobody
  Requestors: t...@cpan.org
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=42986 >


On Sat Feb 06 08:35:17 2010, RSCHUPP wrote:
> On Thu Feb 04 18:12:00 2010, TJC wrote:
> > Small test case. Note that on the building system, File::Temp is at 
0.22 
> > (current) whereas the target system, File::Temp is, erm, slightly 
older 
> > (standard debian lenny) and doesn't have the newdir method.
> > 
> > #!/usr/bin/perl
> > use strict;
> > use warnings;
> > use File::Temp;
> > my $dir = File::Temp->newdir;
> 
> Can't reproduce this here - strace'ing the packed version of above
> shows that the system File::Temp is NOT used.

I build the par file with:
pp -p -o testfile.par testfile.pl
(where testfile.pl contains the above text only)

If I extract the par with `unzip testfile.par` and then view the 
extracted file, I see it does contain File/Temp.pm, and it is the 
version from the source system, ie. 0.22.

If I copy testfile.par to the remote system, and then execute either 
`parl testfile.par` or `par -MPAR testfile.par` I receive the error:
to...@arya-tmp:~$ perl -MPAR filetest.par
Can't locate object method "newdir" via package "File::Temp" at 
script/filetest.pl line 5.
BEGIN failed--compilation aborted.

(Note that the target system already has File::Temp 0.18 available in 
the system, but that version doesn't support the newdir() method.)

> Did you build PAR::Packer on the same system you're doing 
> the packing? Or did you build it somewhere else (or got it
> from a distro)?
 

PAR::Packer was built on the source machine, and turned into a debian 
package, which was then installed on the target machine.

Thanks for your help so far,
Toby

Reply via email to