On Fri, Mar 22, 2013 at 2:40 PM, arnaud gaboury <[email protected]>wrote:
> > > > 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. > Not sure if it can help, but envsetup for android tells me this : HOST_OS_EXTRA=Linux-3.8.4-1-ARCH-x86_64-with-glibc2.2.5 I do not know what is glibc2.2.5. My box has glibc 2.17.3 from core.
