[aur-general] exec and argument list too long

arnaud gaboury arnaud.gaboury at gmail.com
Fri Mar 22 09:56:35 EDT 2013


On Fri, Mar 22, 2013 at 2:40 PM, arnaud gaboury <arnaud.gaboury at gmail.com>wrote:

>
>
>
> On Fri, Mar 22, 2013 at 2:02 PM, arnaud gaboury <arnaud.gaboury at gmail.com>wrote:
>
>>
>>
>>
>> On Fri, Mar 22, 2013 at 1:51 PM, Jakub Klinkovský <
>> kuba.klinkovsky at gmail.com> wrote:
>>
>>> On 22.03.13 at 10:49, arnaud gaboury wrote:
>>> > On Wed, Mar 20, 2013 at 6:00 PM, Jakub Klinkovský <
>>> kuba.klinkovsky at 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 at 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.
>>> > >
>>> > > [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.


More information about the aur-general mailing list