Re: BUG #16791: Compile error with new ICU 68.2 for 10.15

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: stalkerg(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16791: Compile error with new ICU 68.2 for 10.15
Date: 2020-12-25 16:35:56
Message-ID: 1159815.1608914156@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Jeff Davis 2020-12-27 01:50:53 Re: BUG #16784: Server crash in ExecReScanAgg()
Previous Message PG Bug reporting form 2020-12-25 12:39:14 BUG #16791: Compile error with new ICU 68.2 for 10.15