On Mon, 2020-11-16 at 09:15 +0200, Condor wrote: > unable to compile Postgresql 13.0 and 13.1 on Slackware current x64. > Here is gcc -v: > > Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/9.3.0/specs > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/lto-wrapper > Target: x86_64-slackware-linux > Configured with: ../configure --prefix=/usr --libdir=/usr/lib64 > --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap > --enable-languages=ada,brig,c,c++,d,fortran,go,lto,objc,obj-c++ > --enable-threads=posix --enable-checking=release --enable-objc-gc > --with-system-zlib --enable-libstdcxx-dual-abi > --with-default-libstdcxx-abi=new --disable-libstdcxx-pch > --disable-libunwind-exceptions --enable-__cxa_atexit --disable-libssp > --enable-gnu-unique-object --enable-plugin --enable-lto > --disable-install-libiberty --disable-werror --with-gnu-ld --with-isl > --verbose --with-arch-directory=amd64 --disable-gtktest > --enable-clocale=gnu --disable-multilib --target=x86_64-slackware-linux > --build=x86_64-slackware-linux --host=x86_64-slackware-linux > Thread model: posix > gcc version 9.3.0 (GCC) > > > ICU version - 68.1, LLVM version - 11.0.0 > > > Here is configure params: > ./configure \ > --prefix=/usr/lib$LIBDIRSUFFIX/postgresql/$VER \ > --libdir=/usr/lib$LIBDIRSUFFIX/postgresql/$VER/lib \ > --includedir=/usr/include \ > --sysconfdir=/etc/postgresql \ > --localstatedir=/var/lib/postgresql \ > --with-tcl \ > --with-tclconfig=/usr/lib$LIBDIRSUFFIX \ > --with-perl \ > --with-python \ > --with-openssl \ > --with-libxml \ > --with-libxslt \ > --with-icu \ > --with-llvm \ > --enable-thread-safety \ > --with-system-tzdata=/usr/share/zoneinfo \ > $ARCH-slackware-linux > > The error is: > > make[2]: Leaving directory '/tmp/postgresql-13.1/src/backend/utils' > make[1]: Leaving directory '/tmp/postgresql-13.1/src/backend' > x86_64-slackware-linux-gcc -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Werror=vla -Wendif-labels > -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wformat-security > -fno-strict-aliasing -fwrapv -fexcess-precision=standard > -Wno-format-truncation -Wno-stringop-truncation -O2 > -I../../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 -c -o > collationcmds.o collationcmds.c > 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 > > collationcmds.c:467:51: note: each undeclared identifier is reported > only once for each function it appears in > make: *** [<builtin>: collationcmds.o] Error 1 > > Changing TRUE to IS_TRUE solve the problem and code is compiled but no > idea is this a real fix. "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? Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com