URL: <http://savannah.gnu.org/bugs/?18124>
Summary: make-3.81 isn't parallel build safe Project: make Submitted by: None Submitted on: Thursday 10/26/2006 at 18:15 UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Component Version: 3.81 Operating System: POSIX-Based Fixed Release: None _______________________________________________________ Details: From https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212111 To reproduce it, after glibc build is done, in glibc build directory: [EMAIL PROTECTED] build-x86_64-linux]$ rm -rf iconv [EMAIL PROTECTED] build-x86_64-linux]$ make -j4 PARALLELMFLAGS=-j4 > make.log make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. mkdir /export/build/gnu/glibc-nptl-local/build-x86_64-linux/iconv gconv_open.c: In function ‘__gconv_open’: gconv_open.c:59: warning: ‘ptr’ may be used uninitialized in this function gconv_open.c: In function ‘__gconv_open’: gconv_open.c:59: warning: ‘ptr’ may be used uninitialized in this function make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: warning: -jN forced in submake: disabling jobserver mode. No rule to make target `/export/build/gnu/glibc-nptl-local/build-x86_64-linux/iconv/charmap.o', needed by `others' make[1]: *** [iconv/others] Aborted (core dumped) make: *** [all] Error 2 [EMAIL PROTECTED] build-x86_64-linux]$ he problem is when start_job_command closes job_fds, it doesn't set them to -1. Then the same fd is returned by opendir. Later it is used for pipe again. From there, everything goes down hill. This patch works for me. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Thursday 10/26/2006 at 18:15 UTC Name: make-3.81-job-1.patch Size: 1015B By: None A patch <http://savannah.gnu.org/bugs/download.php?file_id=11083> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?18124> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make