Fri Aug 06 06:33:08 2010: Request 59224 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: 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 >
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