[PATCH] make -jN check fails / unset MAKEFLAGS in pg_regress.c

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: [PATCH] make -jN check fails / unset MAKEFLAGS in pg_regress.c
Date: 2012-11-29 13:50:57
Message-ID: 20121129135057.GB3461@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Currently "make -jN check" fails during "creating temporary installation"
with:
make[1]: *** read jobs pipe: Invalid argument. Stop.
make[1]: *** Waiting for unfinished jobs....
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
in install.log.

This is due to pg_regress invoking make while being invoked by make
itself. gnu make internally sets the MAKEFLAGS environment variable to
remember arguments. The problem in this case is that it contains
"--jobserver-fds=4,5" which makes the pg_regress invoked make think its
running as a make child process.

Now the problem obviously can be worked around by using "make -jN &&
make check" instead of "make -j16 check" but I several times now have
spent time trying to figure out what I broke so it sees sensible to
"fix" this.

Any arguments against doing so?

The attached patch also resets the MAKELEVEL environment variable for
good measure. I haven't seen any indication that its needed, but it
feelds safer ;)

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachment Content-Type Size
0001-Unset-MAKEFLAGS-in-pg_regress.c-to-hide-the-knowledg.patch text/x-patch 1.5 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2012-11-29 13:58:40 Re: json accessors
Previous Message Muhammad Usama 2012-11-29 13:36:20 Patch to fix ecpg core dump with nested structure pointer variable