Mon Feb 08 03:27:18 2010: Request 42986 was acted upon.
Transaction: Correspondence added by RSCHUPP
       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 Sun Feb 07 21:37:08 2010, TJC wrote:
> to...@arya-tmp$ perl -MPAR sha.par

Sorry, I misread your report until now - you're talking
about a .par file, not a packed executable.

I think what happens is a kind of chicken and egg problem:
 
- your .par contains different versions of File::Temp etc
  than installed on the target machine

- conceptually we would like "perl -MPAR foo.par"
  to behave like 
  - extract file.par into temporary directory /tmp/foo123
  - run "perl -I/tmp/foo123 /tmp/foo123/foo.pl"
    (i.e. "/tmp/foo123" is at the start of @INC)

- in order to get to the modules in the .par file, PAR.pm 
  needs some modules, e.g. File::Temp

- hence it already has loaded the target system's File::Temp
  before it even gets to consider the (different) copy included
  in the .par

All modules cited in your report are in this category
"required by PAR.pm to extract stuff from a .par file".
(Digest::SHA1 is a special case that's even weirder.)

Sorry, I see no sane way to make this work.


Reply via email to