BUG #15525: Build failures when compiling Postgres with Make parallelization

The Post Office <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: hi@alyssa.is
Date: 2018-11-27T22:26:27Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15525
Logged by:          Alyssa Ross
Email address:      hi@alyssa.is
PostgreSQL version: 9.6.11
Operating system:   macOS
Description:        

There have been multiple reports to the Nix package manager that compiling
PostgreSQL on macOS with Make's -j option have resulted in build failures.
As far as we know, this has only happened on macOS. This appears to be an
issue with PostgreSQL's build process, rather than with the package.

Here's what we know: https://github.com/NixOS/nixpkgs/issues/51093

Example of a build failure:

ar crs libpgtypes.a numeric.o datetime.o common.o dt_common.o timestamp.o
interval.o pgstrcasecmp.o
echo 'Libs:
-L/nix/store/7l8df1na81psj9cx56yjs4m9084nrayr-postgresql-9.6.10-lib/lib
-lecpg_compat' >>libecpg_compat.pc
error:
/nix/store/p1zg3dnaaglqm34pq12ynfa2pc3r2lq8-cctools-port-895/bin/ranlib:
can't open file: libpgtypes.a (No such file or directory)
ar: internal ranlib command failed
make[5]: *** [../../../../src/Makefile.shlib:306: libpgtypes.a] Error 1

Commits

  1. Ensure static libraries have correct mod time even if ranlib messes it up.