Re: pg_recvlogical.c doesn't build with --disable-integer-datetimes

From: Mark Dilger <hornschnorter(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: pg_recvlogical.c doesn't build with --disable-integer-datetimes
Date: 2017-02-17 19:51:27
Message-ID: B6B21737-2182-4C6B-9B42-9AD9DFAC46D4@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> On Feb 17, 2017, at 11:40 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> I wrote:
>> Yeah. I have longfin which is running Apple's clang, and is on a machine
>> that doesn't have much to do otherwise. I propose to turn on -Werror in
>> its configuration, and to configure a second critter on the same hardware
>> that runs with -Werror as well as --disable-integer-datetimes. Somebody
>> else should do similarly with a reasonably modern/stable gcc release.
>
> So I tried doing that by adding -Werror to longfin's CFLAGS environment,
> and it crashed and burned in configure. The most obvious problem is
> that we didn't bother to supply a prototype for does_int64_work() in
> the probes for 64-bit ints. However, even after fixing that, configure
> produces totally bollixed output because -Werror breaks many of its
> built-in tests. We could fix the int64 tests but we have no good way of
> fixing the built-in tests.
>
> AFAICS, if you want to build with -Werror, you have to configure without
> that and then inject it afterwards. I wonder how people who use -Werror
> are handling that. Is it possible to do at all in a buildfarm critter?

I ran into the same problem when adding -Werror, and fixed it as follows:

diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index d39d6ca..96fbc60 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -240,7 +240,7 @@ endif # not PGXS
CC = @CC@
GCC = @GCC@
SUN_STUDIO_CC = @SUN_STUDIO_CC@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -Werror
CFLAGS_VECTOR = @CFLAGS_VECTOR@
CFLAGS_SSE42 = @CFLAGS_SSE42@

That adds -Werror to the compilation of sources but not to the compilation
of configure test programs. I'd be happy to hear if anybody has a cleaner
way of doing this.

Mark Dilger

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-02-17 20:04:09 Re: pg_recvlogical.c doesn't build with --disable-integer-datetimes
Previous Message Andres Freund 2017-02-17 19:48:44 Re: pg_recvlogical.c doesn't build with --disable-integer-datetimes