[distcc] execvp problem
Corrado Giacomini
Corrado.Giacomini at trema.com
Fri Oct 25 07:48:00 GMT 2002
Hi all,
I am using distcc to distribute the compilation of a large software
application,
the local machine is a spars-sun-solaris2.7 machine.
The problem I am facing is that at the exec.c/dcc_execvp(char **argv)
fails returning
E2BIG error Arg list to long while is linking all the objects files into
a shared library.
I arranged to figure out how big is the argument list I am passing to
the execvp system
call and I have found that is 4834 bytes in size.
I have tried to minimized my environment settings but I have got the
same problem.
The limts.h on my Sun machine (which boot 32bit) is setting MAX_ARGS as
follow
#define _ARG_MAX32 1048320 /* max length of args to exec 32-bit
program */
#define _ARG_MAX64 2096640 /* max length of args to exec 64-bit
program */
#define ARG_MAX _ARG_MAX64 /* max length of arguments to
exec */
#define ARG_MAX _ARG_MAX32 /* max length of arguments to
exec */
#define _POSIX_ARG_MAX 4096
It seams that the POSIX ARGV is taken into account because.
My question are:
How I can figure out which of the above limits are effectively set on my
system ?
would be feasible to rewrite the function mentioned above in order to
use, just for example
the system call system() ?
-Corrado
More information about the distcc
mailing list