On Fri, Mar 22, 2013 at 2:40 PM, arnaud gaboury <arnaud.gaboury@gmail.com>wrote:
On Fri, Mar 22, 2013 at 2:02 PM, arnaud gaboury <arnaud.gaboury@gmail.com>wrote:
On Fri, Mar 22, 2013 at 1:51 PM, Jakub Klinkovský < kuba.klinkovsky@gmail.com> wrote:
On Wed, Mar 20, 2013 at 6:00 PM, Jakub Klinkovský < kuba.klinkovsky@gmail.com
wrote:
On 20.03.13 at 14:04, Martti Kühne wrote:
On Wed, Mar 20, 2013 at 12:21 PM, arnaud gaboury <arnaud.gaboury@gmail.com> 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.
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
On 22.03.13 at 10:49, arnaud gaboury wrote: 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>
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.