-
-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bash: disable parallel building on darwin #245066
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I've also seen this before locally.
@trofi can you help out here? |
The change looks good. I was not able to reproduce parallel build failure locally on
Looking at your error snippet I think it's a matter of missing dependency on (transitive) I wonder if something like this is enough for you to fix parallel failures: --- a/Makefile.in
+++ b/Makefile.in
@@ -1432,6 +1432,7 @@ siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+unwind_prot.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h Reproduced manually on a
Looks like a legit upstream bug. |
Proposed the fix upstream as https://savannah.gnu.org/patch/index.php?10373 |
As reported by Robert Scott in NixOS#245066 without the change `make -j8` build of `make` occasionally fails to buildin parallel. The simplest reproducer is: $$ ./configure $$ make unwind_prot.o ... In file included from unwind_prot.c:51: In file included from ./bashintl.h:30: ./include/gettext.h:27:11: fatal error: 'libintl.h' file not found # include <libintl.h> ^~~~~~~~~~~ 1 error generated. make: * [Makefile:106: unwind_prot.o] Error 1 The change adds missing ttransitive `${LIBINTL_H}` dependency for unwind_prot.o.
Also proposed it for |
This PR should be superseded by #245252 |
As reported by Robert Scott in NixOS#245066 without the change `make -j8` build of `make` occasionally fails to buildin parallel. The simplest reproducer is: $$ ./configure $$ make unwind_prot.o ... In file included from unwind_prot.c:51: In file included from ./bashintl.h:30: ./include/gettext.h:27:11: fatal error: 'libintl.h' file not found # include <libintl.h> ^~~~~~~~~~~ 1 error generated. make: * [Makefile:106: unwind_prot.o] Error 1 The change adds missing ttransitive `${LIBINTL_H}` dependency for unwind_prot.o.
Description of changes
On darwin with many CPUs building bash will sometimes fail with:
where it can be clearly seen that
libintl.h
is being put in place too late. Disabling parallelism resolves the issue.Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)