[PATCH] make -jN check fails / unset MAKEFLAGS in pg_regress.c
Andres Freund <andres@2ndquadrant.com>
From: Andres Freund <andres@2ndquadrant.com>
To: pgsql-hackers@postgresql.org
Date: 2012-11-29T13:50:57Z
Lists: pgsql-hackers
Attachments
- 0001-Unset-MAKEFLAGS-in-pg_regress.c-to-hide-the-knowledg.patch (text/x-patch) patch 0001
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