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