Follow-up Comment #1, bug #44853 (project make):
I've confirmed that the problem is a too-large argument to "$SHELL -c". The
execvp() call is failing with E2BIG.
I've put together a workaround hack for this issue. A patch against git master
is attached (which also applies to 4.1).
This adds a handler for E2BIG in exec_command(). The error occurs when
executing
argv[0] == $SHELL
argv[1] == "-c"
argv[2] == "way too much shell code"
so it writes argv[2] to a temporary file, and then calls exec_command()
recursively to invoke
argv[0] == $SHELL
argv[1] == "/tmp/gmake-e2big.XXXXXX"
This is only a quick-and-dirty hack, however, because (1) the temp file is not
cleaned up, as exec_command() does not return, and (2) the code only works in
the specific case of a "$SHELL -c '...'" invocation rather than generally.
A real fix may require changes outside of exec_command(), in the places where
the exec argument vector is constructed to begin with.
(file #34079)
_______________________________________________________
Additional Item Attachment:
File name: make-e2big-hack.patch Size:0 KB
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?44853>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make