Re: BUG #16791: Compile error with new ICU 68.2 for 10.15 - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #16791: Compile error with new ICU 68.2 for 10.15
Date
Msg-id 1159815.1608914156@sss.pgh.pa.us
Whole thread Raw
In response to BUG #16791: Compile error with new ICU 68.2 for 10.15  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> Log:
> ```
> pg_collation.c:47:1: error: conflicting types for ‘CollationCreate’
>    47 | CollationCreate(const char *collname, Oid collnamespace,
>       | ^~~~~~~~~~~~~~~
> In file included from pg_collation.c:25:
> ../../../src/include/catalog/pg_collation_fn.h:17:12: note: previous
> declaration of ‘CollationCreate’ was here
>    17 | extern Oid CollationCreate(const char *collname, Oid
> collnamespace,
>       |            ^~~~~~~~~~~~~~~

Presumably this is caused by ICU forcibly including <stdbool.h>
and thereby changing what "bool" is.  Since we only started to use
stdbool.h booleans in v11, that's not going to work in v10 or below.

I'm afraid that the short answer is "we're not gonna fix that".
As per the other thread you mentioned, it's possible that we could
make it work by #undef'ing bool in the right places.  But the effort
involved and the likely fragility of the results seem discouraging.

If you want to use a bleeding-edge ICU version, don't use a hoary
Postgres version.

            regards, tom lane



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #16791: Compile error with new ICU 68.2 for 10.15
Next
From: Jeff Davis
Date:
Subject: Re: BUG #16784: Server crash in ExecReScanAgg()