On Mon, Nov 16, 2020 at 10:10 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
> On Mon, 2020-11-16 at 09:15 +0200, Condor wrote:
> > collationcmds.c: In function ‘get_icu_language_tag’:
> > collationcmds.c:467:51: error: ‘TRUE’ undeclared (first use in this
> > function); did you mean ‘IS_TRUE’?
> > 467 | uloc_toLanguageTag(localename, buf, sizeof(buf), TRUE, &status);
> > | ^~~~
> > | IS_TRUE
> >
> "UBool" and "TRUE" are defined in "umachine.h", which is a header file for the
> "libicu" library.
>
> PostgreSQL includes "unicode/ucol.h", which will include "umachine.h"
> (via "utypes.h"), so that should be fine.
>
> Are your libicu headers installed under /usr/include/unicode?
> Do you get any messages about missing include files earlier?
It looks like something happened to ICU's boolean macros . See this
commit in FreeBSD ports:
https://github.com/freebsd/freebsd-ports/commit/81a88b4506ec06d07be10d199170ef4003eb0e30
... which references:
https://github.com/unicode-org/icu/commit/c3fe7e09d844