On Wed, Jul 29, 2009 at 8:55 AM, Xan Lopez<x...@gnome.org> wrote: >> On Linux before 2.6.23(?), the default limit for command line plus >> environment when executing a process is something like 128KB, but this >> can be modified in the kernel (or /proc, I don't remember). On newer >> Linux kernels, this limit has been lifted to not exist any more. So one >> workaround would be to build your distribution tarball under a recent >> kernel only. > > That's right, this limit can be modified recompiling the kernel (it's > a #define IIRC), although that workaround is not very practical. It's > good to know this is going away in recent kernels though.
Oh, you wrote 2.6.23, not 2.6.32! I'm using 2.6.27, so this should be working. I googled a bit, and found this page: http://www.in-ulm.de/~mascheck/various/argmax/, which indeed mentions ARG_MAX should be relative to the stack size in new kernels. I increased my stack size with ulimit -s, and checked that getconf ARG_MAX indeed grows with it. Still, distcheck still fails the same way no matter how much I increase the value. The page says limits.h still shows the old value though (which is true), so I guess someone is checking that and not the dynamic value. Sounds like a bug somewhere, not sure exactly where (my shell?).