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