Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^6: Pelr packer pp with -C fails else ok

by dkhosla1 (Sexton)
on Oct 06, 2018 at 13:50 UTC ( [id://1223622]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Pelr packer pp with -C fails else ok
in thread Pelr packer pp with -C fails else ok

To clarify, compilation with -C works fine on 30+ systems so far. It is failing like this only on 1 specific system. So I am trying to figure out why just on that specific system.
  • Comment on Re^6: Pelr packer pp with -C fails else ok

Replies are listed 'Best First'.
Re^7: Pelr packer pp with -C fails else ok
by swl (Parson) on Oct 06, 2018 at 23:35 UTC

    It sounds like it could be an interaction with external process that is on that system but not the others. I've seen issues with file cleaners deleting some of the contents of the PAR temp dir during execution, and antivirus programs can quarantine files, so something like that might be the culprit.

    Sprinkling feedback throughout the program (e.g. printing @INC at startup and completion) to narrow down the point of failure would also be worthwhile.

      Possible. I created a simple script to dump @INC and compiled it both with a '-C' and without.
      use strict; use warnings; use File::Temp qw(tempfile); use File::Basename; print join q{ }, @INC; print "\n";
      Builds:
      pp -C -o ichk-C ichk.pl and pp -o ichk-noC ichk.pl
      Output (output filename is listed in ** xxx ** below:
      ** ichk-C ** Invalid argument at -e line 119. Can't locate File/Temp.pm in @INC (@INC contains: /home/shared/perl5/R +EL5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux /hom +e/shared/perl5/REL5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3 / +home/shared/perl5/REL5/perlbrew/perls/perl-5.16.3/lib/5.16.3/x86_64-l +inux /home/shared/perl5/REL5/perlbrew/perls/perl-5.16.3/lib/5.16.3 .) + at -e line 6. END failed--call queue aborted at -e line 616. ** ichk-noC ** par-646563687063/cache-e9945fbc61b7cb093917c5ca027e5bb0198d1d0d/inc/li +b par-646563687063/cache-e9945fbc61b7cb093917c5ca027e5bb0198d1d0d/inc + CODE(0x11d5950) CODE(0x11d5a58)

      I had just thrown in the "File::Temp" even though not used. Tomorrow I'll try without it in the code just in case something unique about this.

        Trying without File::Temp is worthwhile.

        Maybe also add a few extra print statements to see where the point of failure is:

        use strict; use warnings; BEGIN { print "INC BEGIN: "; print join q{ }, @INC; print "\n"; } use File::Temp qw(tempfile); use File::Basename; print join q{ }, @INC; print "\n"; END { print "INC END: "; print join q{ }, @INC; print "\n"; }
        UPDATE: And setting set PAR_GLOBAL_DEBUG=1 before calling the packed executable, as suggested in 1223698, will give plenty of additional feedback.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1223622]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-09-20 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The PerlMonks site front end has:





    Results (25 votes). Check out past polls.

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.