On January 8, 2016 10:53, Steffen Mueller wrote in perl5-porters: Picking out one of the failures: > On 01/07/2016 09:59 PM, Andreas Koenig wrote: > > - RSCHUPP/PAR-Packer-1.028.tar.gz > > > > main.o: In function `par_redo_stack': > > > /tmp/loop_over_bdir-6977-63Xcet/PAR-Packer-1.028-WKcHP9/myldr/internals.c:3: > undefined reference to `PUSHEVAL' > My gut says that this should be easy to fix, but I haven't tried. I also
don't know if I'll get to it any time soon (and also, Roderich is quite capable of it himself). Uh, that's the infamous Internals::PAR::CLEARSTACK (in myldr/internals.c). I've wondered on several occasions what its intended purpose was. My guess is that a script like use Carp qw(cluck); sub bar { cluck("you are here -->\n"); } sub foo { bar(); } foo(); which produces the following output you are here --> at cluck.pl line 2. main::bar() called at cluck.pl line 3 main::foo() called at cluck.pl line 4 would produce the same output when packed, instead of you are here --> at script/cluck.pl line 2. main::bar() called at script/cluck.pl line 3 main::foo() called at script/cluck.pl line 4 require main called at /home/roderich/perl5/perlbrew/perls/perl-5.18.4/lib/site_perl/5.18.4/PAR.pm line 636 PAR::_run_member('Archive::Zip::ZipFileMember=HASH(0x1d500e0)', 1) called at script/main.pl line 26 require main called at /home/roderich/perl5/perlbrew/perls/perl-5.18.4/lib/site_perl/5.18.4/PAR.pm line 636 PAR::_run_member('Archive::Zip::ZipFileMember=HASH(0x1d503c8)') called at /home/roderich/perl5/perlbrew/perls/perl-5.18.4/lib/site_perl/5.18.4/PAR.pm line 428 PAR::import('PAR') called at -e line 634 eval {...} called at -e line 41 __par_pl::BEGIN() called at script/cluck.pl line 0 eval {...} called at script/cluck.pl line 0 However, this CLEARSTACK feature has not been enabled for ages. In fact, if I enable it it makes any packed executable segfault with any version of perl >= 5.8. Hence it's time to finally dike it out. Cheers, Roderich