GNOME Bugzilla – Bug 624393
parallel build broken
Last modified: 2010-07-19 08:49:19 UTC
it is not possible to build f-spot with "make -j x" with x > 1: The reason is caused by an additional all: rule in build/build.rules.mk: all: $(ASSEMBLY_FILE) theme-icons Automake generates an additional implicit all: rule with basically does the following in the exact order: 1. build in all SUBDIRS 2. build the local targets (like module_SCRIPTS) The mentioned additional all: rule is treated by make as "parallel executable" to the automake all: rule. If now the build of a local file needs the compiled files in SUBDIRS as prerequisite, the build will fail if not all SUBDIRS are built. When solely using automake magic, the problem does not happen since the local target is only built after the build of the SUBDIRS. That's why there must be only the implicit automatically generated all: rule. I'll attach 3 Patches - 2 or just minor cleanup of the build system and the 3rd one solves the specifc parallel build issue. All patches are applicable to both banshee and f-spot. "make distcheck" runs successfully with these patches (only tested for f-spot, distcheck fails in banshee due to some POTFILE errors).
Created attachment 165922 [details] [review] don't hide warnings in autogen.sh
Created attachment 165923 [details] [review] remove 2nd identical command line switch
Created attachment 165924 [details] [review] fix parallel build
Created attachment 165989 [details] [review] fix parallel build
Attachment 165989 [details] pushed as 9c9b9c0 - fix parallel build Merged, thanks! So by unhiding the warnings, I assume you take responsibility in making sure they don't appear ;-). I like patches like these, our autotools knowledge isn't exactly encyclopedic, so input from anyone that knows a thing or two about it is very welcome.