If the notmuch.sym target does not explicitly depend on $(libnotmuch_modules), gen-version-script.sh may be run before all the .o files are created, for example when doing a parallel build on a machine with many cores. --- Hi David, Here's an updated version of the patch with a shorter commit message. For the record, the build log I sent earlier was obtained on my work PC, which has two 8-core CPUs. No problem on my laptop with its dual-core CPU though :) Regards, Thomas lib/Makefile.local | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/Makefile.local b/lib/Makefile.local index 9210f0e..fbc2f6a 100644 --- a/lib/Makefile.local +++ b/lib/Makefile.local @@ -74,7 +74,7 @@ $(dir)/libnotmuch.a: $(libnotmuch_modules) $(dir)/$(LIBNAME): $(libnotmuch_modules) notmuch.sym $(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@ -notmuch.sym: lib/notmuch.h +notmuch.sym: lib/notmuch.h $(libnotmuch_modules) sh lib/gen-version-script.sh $< $(libnotmuch_modules) > $@ $(dir)/$(SONAME): $(dir)/$(LIBNAME) -- 1.7.6