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: [email protected]
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