Re: Fixing parallel make of libpq - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Fixing parallel make of libpq
Date
Msg-id 26437.1578579432@sss.pgh.pa.us
Whole thread Raw
In response to Re: Fixing parallel make of libpq  (ilmari@ilmari.org (Dagfinn Ilmari Mannsåker))
Responses Re: Fixing parallel make of libpq  (ilmari@ilmari.org (Dagfinn Ilmari Mannsåker))
Re: Fixing parallel make of libpq  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
List pgsql-hackers
ilmari@ilmari.org (Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?=) writes:
> Michael Paquier <michael@paquier.xyz> writes:
>> Hmm.  That logically makes sense.  Isn't that a side effect of 7143b3e
>> then?  Now, FWIW, I am not able to reproduce it here, after trying on
>> two different machines, various parallel job numbers (up to 32), and a
>> couple of dozen attempts.  Perhaps somebody else can see the failures?

> It fails reliably for me on Debian Buster, with make 4.2.1-1.2and -j4.

Yeah, it's also reliable for me on Fedora 30:

$ make -s clean
$ make -s -j4 -C src/interfaces/libpq
/usr/bin/ld: cannot find -lpgcommon_shlib
/usr/bin/ld: cannot find -lpgport_shlib
collect2: error: ld returned 1 exit status
make: *** [../../../src/Makefile.shlib:293: libpq.so.5.13] Error 1
make: *** Waiting for unfinished jobs....

On a RHEL6 box, the same test only draws a complaint about
-lpgcommon_shlib, so it does seem like there's some make version
dependency in here.  And of course the whole thing is a race condition
anyway, so naturally it's going to be pretty context-sensitive.

My thoughts about the patch:

1) Changing from an "|"-style dependency to a plain dependency seems
like a semantics change.  I've never been totally clear on the
difference though.  I think Peter introduced our use of the "|" style,
so maybe he can comment.

2) The same coding pattern is used in a bunch of other places, so if
this spot is broken, there probably are a lot of others that need a
similar change.  On the other hand, there may not be that many
directories that are likely places to start a parallel build from,
so maybe we don't care elsewhere.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: Add pg_file_sync() to adminpack
Next
From: Robert Haas
Date:
Subject: Re: pgsql: Allow 'sslkey' and 'sslcert' in postgres_fdw user mappings