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








_______________________________________________
distcc mailing list
[EMAIL PROTECTED]
http://lists.samba.org/cgi-bin/mailman/listinfo/distcc

Reply via email to