On Mon, 2020-11-16 at 22:17 +1300, Thomas Munro wrote: > On Mon, Nov 16, 2020 at 10:10 PM Laurenz Albe <laurenz.albe@xxxxxxxxxxx> 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 Ugh, you are right. Joy. This will be annoying to work around. Yours, Laurenz Albe