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