From 843363b8d59e685b57a2f88c864a7041d44ffc06 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 9 Sep 2012 15:08:32 -0400 Subject: [PATCH] Use .NOTPARALLEL in ecpg/Makefile to avoid a gmake parallelism bug. Investigation shows that some intermittent build failures in ecpg are the result of a gmake bug that was reported quite some time ago: http://savannah.gnu.org/bugs/?30653 Preventing parallel builds of the ecpg subdirectories seems to dodge the bug. Per yesterday's pgsql-hackers discussion, there are some other things in the subdirectory makefiles that seem rather unsafe for parallel builds too, but there's little point in fixing them as long as we have to work around a make bug. Back-patch to 9.1; parallel builds weren't very well supported before that anyway. --- src/interfaces/ecpg/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile index 724aab4961..0116ec0db9 100644 --- a/src/interfaces/ecpg/Makefile +++ b/src/interfaces/ecpg/Makefile @@ -4,6 +4,14 @@ include $(top_builddir)/src/Makefile.global SUBDIRS = include pgtypeslib ecpglib compatlib preproc +# Suppress parallel build of subdirectories to avoid a bug in gmake 3.82, cf +# http://savannah.gnu.org/bugs/?30653 +# https://bugzilla.redhat.com/show_bug.cgi?id=835424 +# (There are some other parallelism bugs in the subdirectory makefiles +# themselves, but there's little point in fixing them as long as we have +# to use this big hammer.) +.NOTPARALLEL: + $(recurse) all-pgtypeslib-recurse all-ecpglib-recurse all-compatlib-recurse all-preproc-recurse: all-include-recurse -- 2.40.0