On Fri, Mar 22, 2013 at 2:02 PM, arnaud gaboury <[email protected]>wrote:
> > > > On Fri, Mar 22, 2013 at 1:51 PM, Jakub Klinkovský < > [email protected]> wrote: > >> On 22.03.13 at 10:49, arnaud gaboury wrote: >> > On Wed, Mar 20, 2013 at 6:00 PM, Jakub Klinkovský < >> [email protected] >> > > wrote: >> > >> > > On 20.03.13 at 14:04, Martti Kühne wrote: >> > > > On Wed, Mar 20, 2013 at 12:21 PM, arnaud gaboury >> > > > <[email protected]> wrote: >> > > > > Dear list, >> > > > > >> > > > > I came to this issue when building android: >> > > > > >> > > > > make: execvp: /bin/bash: Argument list too long >> > > > > >> > > > > From what I understand, the reason for this annoyance is that >> Linux >> > > kernel >> > > > > has a limitation of bytes it can process through as arguments in >> exec() >> > > > > commands. >> > > > > This issue is quite new and arise with Kernel > 3.8.1. I am >> currently >> > > on >> > > > > 3.8.3-2 ARCH from testing. >> > > > > >> > > > >> > > > >> > > > What in the world would require you to pass that many arguments to a >> > > command? >> > > > I'd like to see that command for future generations here... >> > > > try fixing the Makefile? >> > > > >> > > > cheers! >> > > > mar77i >> > > >> > > It's not the number of arguments, it's number of bytes used for >> arguments >> > > and >> > > environment variables[1]. Full paths are often included in 'argv[0]', >> and >> > > when >> > > not building in clean environment, the limit can be easily reached. >> > > >> > > [1]: http://www.in-ulm.de/~mascheck/various/argmax/ >> > > >> > >> > I understand it is a question of bytes and not character or argument >> > numbers. But I still can't build anymore android, when it has been >> possible >> > for months. >> > Which change in my system could have triggered this error? Same source >> and >> > same makefiles work on other boxes, so I suppose it is specific to my >> > machine. >> > >> > Thank you for help as I need to find a way to build android. >> >> You can run 'env -i makepkg' to start build in clean environment. >> >> You should start a thread on the forum regarding this issue. Btw you >> didn't even >> mention which package exactly you are building (and preferably provide >> link so >> that we don't have to search for it). >> > > > First line in OP : > > <quote> I came to this issue when building android: <quote> > > http://source.android.com/source/building-devices.html > This error is in fact thrown by the execvp() function, part of glibc. http://linux.die.net/man/3/execvp It is a front-end for the execve(). I can find reference to my issue in the execve(2) man. <quote> *Limits on size of arguments and environment* Most UNIX implementations impose some limit on the total size of the command-line argument (*argv*) and environment (*envp*) strings that may be passed to a new program. POSIX.1 allows an implementation to advertise this limit using the *ARG_MAX* constant (either defined in *<limits.h<http://linux.die.net/include/limits.h> >* or available at run time using the call *sysconf(_SC_ARG_MAX)*). <quote> But I still do not know how to get rid of this thrown error which stops make to keep building.
