URL: <https://savannah.gnu.org/bugs/?57575>
Summary: --load-average changes order or jobs Project: make Submitted by: aheider Submitted on: Fri 10 Jan 2020 05:23:38 PM UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 4.2.1 Operating System: POSIX-Based Fixed Release: None Triage Status: None _______________________________________________________ Details: When using -l, it seems the order of jobs is different compared to not using -l. For some projects, this difference is enough to break the build. For the cases where I observed this, it was always a bug in a Makefile. Examples are GNU screen and bash. Both projects create a header using a make rule, with missing dependencies for the files including it. Another example is MAME, where the directory for a to-be created object file was not created in time (missing " | $(OBJDIR)") Building those projects without -l always succeeds. For distros, which compile many packages in parallel, -l is a gift, but breaks random packages too easily. Is it possible to not change the behavior when using -l? I can easily reproduce this locally (8 core box) with GNU screen 4.6.2 using make 4.2.1 or 4.2.93: ./configure while true; do make clean; make -j8 -l0.5 || break; done ... screen.h:48:10: fatal error: comm.h: No such file or directory _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?57575> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/