[aur-general] exec and argument list too long

arnaud gaboury arnaud.gaboury at gmail.com
Fri Mar 22 09:40:37 EDT 2013


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.


More information about the aur-general mailing list