Wed May 28 05:53:59 2014: Request 59224 was acted upon. Transaction: Correspondence added by emanuel.reisin...@imtech-logistics.com Queue: PAR-Packer Subject: AW: [rt.cpan.org #59224] make error with version 1.006 on aix 5.3 Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: emanuel.reisin...@ils.at Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=59224 >
Hello Roderich, I've run in the same problem with PAR-Packer-1.018 again. But this time I found another quick-fix for this problem: http://www.nntp.perl.org/group/perl.par/2008/06/msg3615.html ##### QUOTE BEGIN ##### On all AIX versions I tested (4.3 - 5.3) the following compiler error will be seen when running a 'make' for PAR::Packer: ------------ ./par: execution of ./par failed - aborting with -1. BEGIN failed--compilation aborted at -e line 975. make: 1254-004 The error code from the last command is 7. Stop. ------------ A trace of the process showed E2BIG - which means the default AIX setting of ncargs (ARG/ENV list size in 4K byte blocks) is not sufficient for PAR::Packer to function. A possible (quick)fix is to increase ncargs from its default value of 6 by running 'chdev -l sys0 -a ncargs=7', bearing in mind this can only be done on AIX 5L and higher, not AIX 4.3. Can this ncargs requirement really not be avoided by the distribution? It was not a problem during earlier PAR::Packer distributions I built (at least 0.970, possibly 0.976). ##### QUOTE END ##### Maybe you can append this quick-fix to the ticket. Cheers, Emanuel -----Ursprüngliche Nachricht----- Von: Roderich Schupp via RT [mailto:bug-par-pac...@rt.cpan.org] Gesendet: Freitag, 6. August 2010 12:33 An: Reisinger Emanuel Betreff: [rt.cpan.org #59224] make error with version 1.006 on aix 5.3 <URL: https://rt.cpan.org/Ticket/Display.html?id=59224 > On 2010-08-05 09:28:05, ogv wrote: > I hope this is what you need. > the output: env - truss -f -a -e par Yes, that confirms that the E2BIG for execve() is caused by too large args+env passed to the program. According to IBM docs, AIX 5 has a ridiculous, non-configurable limit of 24K for args. The main culprit here is PAR::Packer: it calls par with one argument that is already 23K long (it's a "perl -e ..." type command). Maybe I can eliminate that, but that's a bit of work and I want to make sure beforehand that this the only reason why PAR::Packer doesn't work on AIX 5. Hence, are you ready for a little experiment? (1) Run "make clean" to start with a clean slate (2) Try to shrink your process enviroment by unsetting all environment variables that are not absolutely necessary (3) Strip non-functional whitespace from script/par.pl (saves ~4K) by running $ perl -i -p -e 's/^\s+// if /^=cut/../^1;/' script/par.pl (4) Save some more environmental bytes by reducing the array ld_path_keys in function par_setup_libpath in myldr/mktmpdir.c like this const char *ld_path_keys[3] = { "LIBPATH", "PATH", "" }; (note the empty string as last element) (5) Now try a normal build $ perl Makefile.PL $ make $ make test Cheers, Roderich