[ARG_MAX] execv: Argument list too long

Gary Jennejohn gljennjohn at gmail.com
Mon Nov 4 09:04:18 UTC 2019


On Sun, 3 Nov 2019 18:32:14 +0100
Thierry Thomas <thierry at freebsd.org> wrote:

> Hello,
> 
> [Repost from FreeBSD-questions]
> 
> I'm trying to upgrade the port french/aster to the latest stable
> release. This is a complex port: it has no Makefile (in the upstream
> tarball, but of course there is a Makefile for the port), and it uses a
> combination of setup.py (Python) and a bundled waf.
> 
> At this point, it builds, but the latest step (linkage) fails with the
> following message:
> 
> gfortran9: fatal error: cannot execute
> '/usr/local/libexec/gcc9/gcc/x86_64-portbld-freebsd12.0/9.2.0/collect2':
> execv: Argument list too long
> 
> Yes, linkage is done by gfortran, in a classical way:
> gfortran9 (some -Wl parameters) (a very long list of object files .o) (a
> list of several libraies with their paths)
> 
> but the problem is not caused neither by gfortran nor by the final
> linker: if I execute the same command line manually from my shell, it
> succeeds and the aster program is built.
> 
> So I guess that the problem is caused partly by the arguments list, but
> also by the environment variables brought by the build system.
> 
> On my machine, `getconf ARG_MAX' returns 262144.
> 
> Is there a way to increase this value dynamically? Any idea?
> 

Doesn't look like it.  Thre's a sysctl kern.argmax, but it's
read-only and initialized to ARG_MAX.

> Thanks for reading!
> -- 
> Th. Thomas.


-- 
Gary Jennejohn


More information about the freebsd-hackers mailing list