Wed May 07 09:36:55 2014: Request 95417 was acted upon.
Transaction: Correspondence added by RSCHUPP
       Queue: PAR-Packer
     Subject: Perl pp error: Seeking some info
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: angan....@intel.com
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=95417 >


On 2014-05-07 08:21:31, angan....@intel.com wrote:
> /usr/bin/perl -v
> This is perl, v5.8.8 built for x86_64-linux-thread-multi
...
> our environment by the env-team. And so what it implies is its already
> installed property and tested.
> /usr/intel/pkgs/perl/5.14.1/bin/pp

Then the above Perl version is irrelevant (that's the distro's Perl),
this PAR::Packer (including the pp Perl script) were most likely built
against a local (though pre-packaged) Perl installation (guessing from
the filename, Perl 5.14.1).  Could you please provide the output
of "/usr/intel/pkgs/perl/5.14.1/bin/perl -v" and
"/usr/intel/pkgs/perl/5.14.1/bin/perl -V". Also check that the first
line of /usr/intel/pkgs/perl/5.14.1/bin/pp is

#!/usr/intel/pkgs/perl/5.14.1/bin/perl

I'm pretty confident that PAR::Packer builds (and works) correctly
for the distro Perl of any major Linux distro (Redhat, Suse, Debian etc -
some might even package PAR::Packer), but locally built Perl installations
might be broken in subtle ways. This might not show with most Perl modules, 
but PAR::Packer is very peculiar and unlike any other Perl module. 

That's why I asked for the "hello world" example. If this doesn't run
in any scenario, you're PAR::Packer installation is definitely broken.

> - does the problem happen with a trivial script, e.g.
> 
> $ pp -o hello.exe -e 'print "hello, world\n"'
> $ ./hello.exe
> Yes and no both. I tried running it on a different setup (basically
> some shell variables set) and it ran fine. I tried running it on a
> fresh xterm and it ran fine. However, its failing in some particular
> xterm in some particular setup. 

When it fails - what's the error message?
Things to look out for are environment variables PERL5LIB (generally
anything starting with PERL), PATH, LD_LIBRARY_PATH. Though - at least in
theory - the resulting executable should be immune to these.

> Also, once compiled on Suse-64, will it run fine across all other OS-
> es – Redhat, Ubuntu, etc.

Yes. It's as portable to any other 64-bit Linux on the same
hardware architecture as any executable that you built by compiling
and linking a, say, C program. BTW, pp is not *compiling* your script
in any way - it packs up the perl executable and all modules used (recursively)
by your script into a zip and prepends the zip with a small program
that will extract the stuff into a temp directory and run it from there.

Cheers, Roderich

Reply via email to