On 16-11-2020 11:10, Laurenz Albe wrote:
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
Hello,
yes. My header files are installed in /usr/include/unicode and for the
moment I don't get any messages
about missing files.
Best Regards,
HS