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

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] make -jN check fails / unset MAKEFLAGS in pg_regress.c
Date: 2012-11-30 19:41:14
Message-ID: CA+TgmoZHwtLRExhv6gF=ov3iHY-0-dtg-pdr15OTdWrqUHEbxw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Nov 29, 2012 at 8:50 AM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> 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 ;)

Seems reasonable to me.

But shouldn't the comment in the patch say "to be certain the child
DOESN'T notice the make above us"?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2012-11-30 19:50:40 Re: initdb.c::main() too large
Previous Message Tom Lane 2012-11-30 19:41:04 Re: [PATCH] Patch to fix a crash of psql