[PATCH] libnotmuch: only build symbols list after the modules are built
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
[PATCH] libnotmuch: only build symbols list after the modules are built
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. This can be observed when doing a parallel build on a machine with many cores: $ make -j ... sh lib/gen-version-script.sh lib/notmuch.h lib/filenames.o lib/string-list.o lib/libsha1.o lib/message-file.o lib/messages.o lib/sha1.o lib/tags.o lib/xutil.o lib/database.o lib/directory.o lib/index.o lib/message.o lib/query.o lib/thread.o > notmuch.sym nm: 'lib/libsha1.o': No such file nm: 'lib/message-file.o': No such file nm: 'lib/database.o': No such file nm: 'lib/directory.o': No such file nm: 'lib/index.o': No such file nm: 'lib/message.o': No such file nm: 'lib/query.o': No such file nm: 'lib/thread.o': No such file ... --- 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
[PATCH] libnotmuch: only build symbols list after the modules are built
On Wed, 20 Jul 2011 14:38:18 +0200, Thomas Jost wrote: > 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. This can > be observed when doing a parallel build on a machine with many cores: > $ make -j > ... > sh lib/gen-version-script.sh lib/notmuch.h lib/filenames.o lib/string-list.o > lib/libsha1.o lib/message-file.o lib/messages.o lib/sha1.o lib/tags.o > lib/xutil.o lib/database.o lib/directory.o lib/index.o lib/message.o Hi Thomas; Your patch looks sensible. If you could shorten up the commit message a bit, probably by putting the make output after '---' and adjusting the rest of the text, I'll be happy to push it. d
Re: [PATCH] libnotmuch: only build symbols list after the modules are built
On Wed, 20 Jul 2011 14:38:18 +0200, Thomas Jost schno...@schnouki.net wrote: 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. This can be observed when doing a parallel build on a machine with many cores: $ make -j ... sh lib/gen-version-script.sh lib/notmuch.h lib/filenames.o lib/string-list.o lib/libsha1.o lib/message-file.o lib/messages.o lib/sha1.o lib/tags.o lib/xutil.o lib/database.o lib/directory.o lib/index.o lib/message.o Hi Thomas; Your patch looks sensible. If you could shorten up the commit message a bit, probably by putting the make output after '---' and adjusting the rest of the text, I'll be happy to push it. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[PATCH] libnotmuch: only build symbols list after the modules are built
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 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH] libnotmuch: only build symbols list after the modules are built
On Thu, 21 Jul 2011 01:31:37 +0200, Thomas Jost schno...@schnouki.net wrote: 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 :) Thanks, pushed. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch