Use a temp file for ARCOM to fix command line too long errors - #2033
Open
aaronfranke wants to merge 1 commit into
Open
Use a temp file for ARCOM to fix command line too long errors#2033aaronfranke wants to merge 1 commit into
aaronfranke wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With my Godot fork, the added C++ modules are enough to push godot-cpp over the limit. The total length of all C++ files concatenated into the argument list is over 133 thousand bytes, which exceeds the 128 KiB limit of Linux argument lists:
This PR fixes the problem on godot-cpp's side by adding
ARCOM, which allows SCons to write the arguments to a file, and then pass that file toar, rather than trying to put everything into command line arguments.I have verified that this works, because I pointed the failing
dimensions-4.8branch ataaronfranke/godot-cppwith branch4.5-arcom-command-length, and now the "Linux / Editor w/ Mono (target=editor)" CI job that includes godot-cpp succeeds: https://github.com/godot-dimensions/godot/actions/runs/30248252906/job/89922634667Note that this isn't a godot-dimensions specific issue: the same problem would've occurred with Godot itself in a matter of years as the engine size grows over time. My godot-dimensions fork merely encountered the problem sooner.
This should be cherry-picked to past branches. The cherry-picking is beneficial to forks. I have branches ready for this, here is the 4.5 branch: https://github.com/aaronfranke/godot-cpp/tree/4.5-arcom-command-length