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

Reply via email to