Thread

Commits

  1. Use "true" not "TRUE" in one ICU function call.

  2. Change TRUE/FALSE to true/false

  1. Unable to compile postgres 13.1 on Slackware current x64

    Condor <condor@stz-bg.com> — 2020-11-16T07:15:47Z

    Hello,
    
    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.
    
    
    Best Regards,
    Hristo S.
    
    
    
    
  2. Re: Unable to compile postgres 13.1 on Slackware current x64

    Laurenz Albe <laurenz.albe@cybertec.at> — 2020-11-16T09:10:43Z

    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
    
    
    
    
    
  3. Re: Unable to compile postgres 13.1 on Slackware current x64

    Thomas Munro <thomas.munro@gmail.com> — 2020-11-16T09:17:19Z

    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
    
    
    
    
  4. Re: Unable to compile postgres 13.1 on Slackware current x64

    Condor <condor@stz-bg.com> — 2020-11-16T14:12:18Z

    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
    
    
    
    
  5. Re: Unable to compile postgres 13.1 on Slackware current x64

    Laurenz Albe <laurenz.albe@cybertec.at> — 2020-11-16T17:14:06Z

    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@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
    
    Ugh, you are right.  Joy.
    This will be annoying to work around.
    
    Yours,
    Laurenz Albe
    
    
    
    
    
  6. Re: Unable to compile postgres 13.1 on Slackware current x64

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-11-16T17:30:03Z

    Thomas Munro <thomas.munro@gmail.com> writes:
    > It looks like something happened to ICU's boolean macros .  See this
    > commit in FreeBSD ports:
    
    > https://github.com/freebsd/freebsd-ports/commit/81a88b4506ec06d07be10d199170ef4003eb0e30
    
    It'd be so nice if people would tell us about their problems, instead of
    just hacking-and-slashing.
    
    In this case, I see one use of the constant TRUE in collationcmds.c,
    but I wonder how come that's there given that we deprecated upper-case
    TRUE some time ago.  I find it hard to believe that sprinkling "#include
    <stdbool.h>" into random places is either necessary (on modern platforms
    anyway) or a good idea (if we're not using <stdbool.h>, this seems pretty
    much guaranteed to break things); so I think the rest of that patch is
    foolhardy.
    
    			regards, tom lane
    
    
    
    
  7. Re: Unable to compile postgres 13.1 on Slackware current x64

    Laurenz Albe <laurenz.albe@cybertec.at> — 2020-11-16T18:02:55Z

    On Mon, 2020-11-16 at 12:30 -0500, Tom Lane wrote:
    > Thomas Munro <thomas.munro@gmail.com> writes:
    > > It looks like something happened to ICU's boolean macros .  See this
    > > commit in FreeBSD ports:
    > > https://github.com/freebsd/freebsd-ports/commit/81a88b4506ec06d07be10d199170ef4003eb0e30
    > 
    > It'd be so nice if people would tell us about their problems, instead of
    > just hacking-and-slashing.
    > 
    > In this case, I see one use of the constant TRUE in collationcmds.c,
    > but I wonder how come that's there given that we deprecated upper-case
    > TRUE some time ago.  I find it hard to believe that sprinkling "#include
    > <stdbool.h>" into random places is either necessary (on modern platforms
    > anyway) or a good idea (if we're not using <stdbool.h>, this seems pretty
    > much guaranteed to break things); so I think the rest of that patch is
    > foolhardy.
    
    How about this patch?  It fixes the problem for me.
    
    Yours,
    Laurenz Albe
    
  8. Re: Unable to compile postgres 13.1 on Slackware current x64

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-11-16T18:11:03Z

    Laurenz Albe <laurenz.albe@cybertec.at> writes:
    > On Mon, 2020-11-16 at 12:30 -0500, Tom Lane wrote:
    >> In this case, I see one use of the constant TRUE in collationcmds.c,
    >> but I wonder how come that's there given that we deprecated upper-case
    >> TRUE some time ago.  I find it hard to believe that sprinkling "#include
    >> <stdbool.h>" into random places is either necessary (on modern platforms
    >> anyway) or a good idea (if we're not using <stdbool.h>, this seems pretty
    >> much guaranteed to break things); so I think the rest of that patch is
    >> foolhardy.
    
    > How about this patch?  It fixes the problem for me.
    
    What's wrong with s/TRUE/true/ in get_icu_language_tag?
    (I have zero interest in undoing 6337865f3, which is what this patch
    would amount to.)
    
    A larger issue is that it looks like ICU68 may insist on importing
    <stdbool.h> in some headers.  That's fine on the platforms where we
    use <stdbool.h> anyway, but it's distinctly not fine elsewhere.
    We might be able to work around that the same way that dfmgr.h does:
    
    /*
     * On macOS, <dlfcn.h> insists on including <stdbool.h>.  If we're not
     * using stdbool, undef bool to undo the damage.
     */
    #ifndef PG_USE_STDBOOL
    #ifdef bool
    #undef bool
    #endif
    #endif
    
    This is going to be hard to test without a platform that doesn't use
    <stdbool.h> though.  [ starts booting up spare PPC Mac ... ]
    
    			regards, tom lane
    
    
    
    
  9. Re: Unable to compile postgres 13.1 on Slackware current x64

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-11-16T18:27:04Z

    I wrote:
    > A larger issue is that it looks like ICU68 may insist on importing
    > <stdbool.h> in some headers.  That's fine on the platforms where we
    > use <stdbool.h> anyway, but it's distinctly not fine elsewhere.
    
    Meh.  I went to see if I could test that, and didn't get much further
    than this on ICU's downloads page:
    
        ICU4C Platform Support
    
        All: Compiler support for C++11 is required for building the ICU libraries.
        Some platforms (such as IBM AIX, IBM z and Solaris) may no longer be able to build ICU until an improved compiler is available.
    
    AFAIK, the only platforms we have where <stdbool.h> isn't used are
    PPC Mac, which of course was discontinued around 2008, so there's
    zero chance that the compiler supports C++11.  Barring somebody
    finding evidence of a platform that can run ICU68 and is not using
    <stdbool.h>, it's not worth spending time on this combination.
    
    I think we should just s/TRUE/true/ and be done with it.
    
    			regards, tom lane
    
    
    
    
  10. Re: Unable to compile postgres 13.1 on Slackware current x64

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-11-16T20:18:12Z

    I wrote:
    > What's wrong with s/TRUE/true/ in get_icu_language_tag?
    
    I confirmed that that fixes the build with ICU 68.1, and pushed it.
    
    			regards, tom lane
    
    
    
    
  11. Re: Unable to compile postgres 13.1 on Slackware current x64

    Condor <condor@stz-bg.com> — 2020-11-17T07:02:50Z

    On 16-11-2020 22:18, Tom Lane wrote:
    > I wrote:
    >> What's wrong with s/TRUE/true/ in get_icu_language_tag?
    > 
    > I confirmed that that fixes the build with ICU 68.1, and pushed it.
    > 
    > 			regards, tom lane
    
    
    Hello,
    
    I try to compile postgres again with (cd src/backend/commands; sed 
    's/TRUE/true/' collationcmds.c > collationcmds.c; ) and it's compiled 
    but get new error on linking:
    
    
    src/backend/utils/fmgrtab.o ) >objfiles.txt
    gmake[3]: Leaving directory '/tmp/postgresql-13.1/src/backend/utils'
    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 access/brin/brin.o 
    access/brin/brin_inclusion.o access/brin/brin_minmax.o 
    access/brin/brin_pageops.o access/brin/brin_revmap.o 
    access/brin/brin_tuple.o access/brin/brin_validate.o 
    access/brin/brin_xlog.o access/common/attmap.o access/common/bufmask.o 
    access/common/detoast.o access/common/heaptuple.o 
    access/common/indextuple.o access/common/printsimple.o 
    access/common/printtup.o access/common/relation.o 
    access/common/reloptions.o access/common/scankey.o 
    access/common/session.o access/common/toast_internals.o 
    access/common/tupconvert.o access/common/tupdesc.o 
    access/gin/ginarrayproc.o access/gin/ginbtree.o access/gin/ginbulk.o 
    access/gin/gindatapage.o access/gin/ginentrypage.o access/gin/ginfast.o 
    access/gin/ginget.o access/gin/gininsert.o access/gin/ginlogic.o 
    access/gin/ginpostinglist.o access/gin/ginscan.o access/gin/ginutil.o 
    access/gin/ginvacuum.o access/gin/ginvalidate.o access/gin/ginxlog.o 
    access/gist/gist.o access/gist/gistbuild.o 
    access/gist/gistbuildbuffers.o access/gist/gistget.o 
    access/gist/gistproc.o access/gist/gistscan.o access/gist/gistsplit.o 
    access/gist/gistutil.o access/gist/gistvacuum.o 
    access/gist/gistvalidate.o access/gist/gistxlog.o access/hash/hash.o 
    access/hash/hash_xlog.o access/hash/hashfunc.o access/hash/hashinsert.o 
    access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashsearch.o 
    access/hash/hashsort.o access/hash/hashutil.o access/hash/hashvalidate.o 
    access/heap/heapam.o access/heap/heapam_handler.o 
    access/heap/heapam_visibility.o access/heap/heaptoast.o 
    access/heap/hio.o access/heap/pruneheap.o access/heap/rewriteheap.o 
    access/heap/syncscan.o access/heap/vacuumlazy.o 
    access/heap/visibilitymap.o access/index/amapi.o 
    access/index/amvalidate.o access/index/genam.o access/index/indexam.o 
    access/nbtree/nbtcompare.o access/nbtree/nbtdedup.o 
    access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o 
    access/nbtree/nbtsearch.o access/nbtree/nbtsort.o 
    access/nbtree/nbtsplitloc.o access/nbtree/nbtutils.o 
    access/nbtree/nbtvalidate.o access/nbtree/nbtxlog.o 
    access/rmgrdesc/brindesc.o access/rmgrdesc/clogdesc.o 
    access/rmgrdesc/committsdesc.o access/rmgrdesc/dbasedesc.o 
    access/rmgrdesc/genericdesc.o access/rmgrdesc/gindesc.o 
    access/rmgrdesc/gistdesc.o access/rmgrdesc/hashdesc.o 
    access/rmgrdesc/heapdesc.o access/rmgrdesc/logicalmsgdesc.o 
    access/rmgrdesc/mxactdesc.o access/rmgrdesc/nbtdesc.o 
    access/rmgrdesc/relmapdesc.o access/rmgrdesc/replorigindesc.o 
    access/rmgrdesc/seqdesc.o access/rmgrdesc/smgrdesc.o 
    access/rmgrdesc/spgdesc.o access/rmgrdesc/standbydesc.o 
    access/rmgrdesc/tblspcdesc.o access/rmgrdesc/xactdesc.o 
    access/rmgrdesc/xlogdesc.o access/spgist/spgdoinsert.o 
    access/spgist/spginsert.o access/spgist/spgkdtreeproc.o 
    access/spgist/spgproc.o access/spgist/spgquadtreeproc.o 
    access/spgist/spgscan.o access/spgist/spgtextproc.o 
    access/spgist/spgutils.o access/spgist/spgvacuum.o 
    access/spgist/spgvalidate.o access/spgist/spgxlog.o access/table/table.o 
    access/table/tableam.o access/table/tableamapi.o 
    access/table/toast_helper.o access/tablesample/bernoulli.o 
    access/tablesample/system.o access/tablesample/tablesample.o 
    access/transam/clog.o access/transam/commit_ts.o 
    access/transam/generic_xlog.o access/transam/multixact.o 
    access/transam/parallel.o access/transam/rmgr.o access/transam/slru.o 
    access/transam/subtrans.o access/transam/timeline.o 
    access/transam/transam.o access/transam/twophase.o 
    access/transam/twophase_rmgr.o access/transam/varsup.o 
    access/transam/xact.o access/transam/xlog.o access/transam/xlogarchive.o 
    access/transam/xlogfuncs.o access/transam/xloginsert.o 
    access/transam/xlogreader.o access/transam/xlogutils.o 
    bootstrap/bootparse.o bootstrap/bootstrap.o catalog/aclchk.o 
    catalog/catalog.o catalog/dependency.o catalog/heap.o catalog/index.o 
    catalog/indexing.o catalog/namespace.o catalog/objectaccess.o 
    catalog/objectaddress.o catalog/partition.o catalog/pg_aggregate.o 
    catalog/pg_cast.o catalog/pg_collation.o catalog/pg_constraint.o 
    catalog/pg_conversion.o catalog/pg_db_role_setting.o catalog/pg_depend.o 
    catalog/pg_enum.o catalog/pg_inherits.o catalog/pg_largeobject.o 
    catalog/pg_namespace.o catalog/pg_operator.o catalog/pg_proc.o 
    catalog/pg_publication.o catalog/pg_range.o catalog/pg_shdepend.o 
    catalog/pg_subscription.o catalog/pg_type.o catalog/storage.o 
    catalog/toasting.o parser/analyze.o parser/gram.o parser/parse_agg.o 
    parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o 
    parser/parse_cte.o parser/parse_enr.o parser/parse_expr.o 
    parser/parse_func.o parser/parse_node.o parser/parse_oper.o 
    parser/parse_param.o parser/parse_relation.o parser/parse_target.o 
    parser/parse_type.o parser/parse_utilcmd.o parser/parser.o parser/scan.o 
    parser/scansup.o commands/aggregatecmds.o commands/alter.o 
    commands/amcmds.o commands/analyze.o commands/async.o commands/cluster.o 
    commands/collationcmds.o commands/comment.o commands/constraint.o 
    commands/conversioncmds.o commands/copy.o commands/createas.o 
    commands/dbcommands.o commands/define.o commands/discard.o 
    commands/dropcmds.o commands/event_trigger.o commands/explain.o 
    commands/extension.o commands/foreigncmds.o commands/functioncmds.o 
    commands/indexcmds.o commands/lockcmds.o commands/matview.o 
    commands/opclasscmds.o commands/operatorcmds.o commands/policy.o 
    commands/portalcmds.o commands/prepare.o commands/proclang.o 
    commands/publicationcmds.o commands/schemacmds.o commands/seclabel.o 
    commands/sequence.o commands/statscmds.o commands/subscriptioncmds.o 
    commands/tablecmds.o commands/tablespace.o commands/trigger.o 
    commands/tsearchcmds.o commands/typecmds.o commands/user.o 
    commands/vacuum.o commands/variable.o commands/view.o executor/execAmi.o 
    executor/execCurrent.o executor/execExpr.o executor/execExprInterp.o 
    executor/execGrouping.o executor/execIndexing.o executor/execJunk.o 
    executor/execMain.o executor/execParallel.o executor/execPartition.o 
    executor/execProcnode.o executor/execReplication.o executor/execSRF.o 
    executor/execScan.o executor/execTuples.o executor/execUtils.o 
    executor/functions.o executor/instrument.o executor/nodeAgg.o 
    executor/nodeAppend.o executor/nodeBitmapAnd.o 
    executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o 
    executor/nodeBitmapOr.o executor/nodeCtescan.o executor/nodeCustom.o 
    executor/nodeForeignscan.o executor/nodeFunctionscan.o 
    executor/nodeGather.o executor/nodeGatherMerge.o executor/nodeGroup.o 
    executor/nodeHash.o executor/nodeHashjoin.o 
    executor/nodeIncrementalSort.o executor/nodeIndexonlyscan.o 
    executor/nodeIndexscan.o executor/nodeLimit.o executor/nodeLockRows.o 
    executor/nodeMaterial.o executor/nodeMergeAppend.o 
    executor/nodeMergejoin.o executor/nodeModifyTable.o 
    executor/nodeNamedtuplestorescan.o executor/nodeNestloop.o 
    executor/nodeProjectSet.o executor/nodeRecursiveunion.o 
    executor/nodeResult.o executor/nodeSamplescan.o executor/nodeSeqscan.o 
    executor/nodeSetOp.o executor/nodeSort.o executor/nodeSubplan.o 
    executor/nodeSubqueryscan.o executor/nodeTableFuncscan.o 
    executor/nodeTidscan.o executor/nodeUnique.o executor/nodeValuesscan.o 
    executor/nodeWindowAgg.o executor/nodeWorktablescan.o executor/spi.o 
    executor/tqueue.o executor/tstoreReceiver.o foreign/foreign.o 
    lib/binaryheap.o lib/bipartite_match.o lib/bloomfilter.o lib/dshash.o 
    lib/hyperloglog.o lib/ilist.o lib/integerset.o lib/knapsack.o 
    lib/pairingheap.o lib/rbtree.o libpq/auth-scram.o libpq/auth.o 
    libpq/be-fsstubs.o libpq/be-secure-common.o libpq/be-secure.o 
    libpq/crypt.o libpq/hba.o libpq/ifaddr.o libpq/pqcomm.o libpq/pqformat.o 
    libpq/pqmq.o libpq/pqsignal.o libpq/be-secure-openssl.o main/main.o 
    nodes/bitmapset.o nodes/copyfuncs.o nodes/equalfuncs.o 
    nodes/extensible.o nodes/list.o nodes/makefuncs.o nodes/nodeFuncs.o 
    nodes/nodes.o nodes/outfuncs.o nodes/params.o nodes/print.o nodes/read.o 
    nodes/readfuncs.o nodes/tidbitmap.o nodes/value.o 
    optimizer/geqo/geqo_copy.o optimizer/geqo/geqo_cx.o 
    optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_eval.o 
    optimizer/geqo/geqo_main.o optimizer/geqo/geqo_misc.o 
    optimizer/geqo/geqo_mutation.o optimizer/geqo/geqo_ox1.o 
    optimizer/geqo/geqo_ox2.o optimizer/geqo/geqo_pmx.o 
    optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_px.o 
    optimizer/geqo/geqo_random.o optimizer/geqo/geqo_recombination.o 
    optimizer/geqo/geqo_selection.o optimizer/path/allpaths.o 
    optimizer/path/clausesel.o optimizer/path/costsize.o 
    optimizer/path/equivclass.o optimizer/path/indxpath.o 
    optimizer/path/joinpath.o optimizer/path/joinrels.o 
    optimizer/path/pathkeys.o optimizer/path/tidpath.o 
    optimizer/plan/analyzejoins.o optimizer/plan/createplan.o 
    optimizer/plan/initsplan.o optimizer/plan/planagg.o 
    optimizer/plan/planmain.o optimizer/plan/planner.o 
    optimizer/plan/setrefs.o optimizer/plan/subselect.o 
    optimizer/prep/prepjointree.o optimizer/prep/prepqual.o 
    optimizer/prep/preptlist.o optimizer/prep/prepunion.o 
    optimizer/util/appendinfo.o optimizer/util/clauses.o 
    optimizer/util/inherit.o optimizer/util/joininfo.o 
    optimizer/util/orclauses.o optimizer/util/paramassign.o 
    optimizer/util/pathnode.o optimizer/util/placeholder.o 
    optimizer/util/plancat.o optimizer/util/predtest.o 
    optimizer/util/relnode.o optimizer/util/restrictinfo.o 
    optimizer/util/tlist.o optimizer/util/var.o partitioning/partbounds.o 
    partitioning/partdesc.o partitioning/partprune.o port/atomics.o 
    port/pg_sema.o port/pg_shmem.o postmaster/autovacuum.o 
    postmaster/bgworker.o postmaster/bgwriter.o postmaster/checkpointer.o 
    postmaster/fork_process.o postmaster/interrupt.o postmaster/pgarch.o 
    postmaster/pgstat.o postmaster/postmaster.o postmaster/startup.o 
    postmaster/syslogger.o postmaster/walwriter.o regex/regcomp.o 
    regex/regerror.o regex/regexec.o regex/regexport.o regex/regfree.o 
    regex/regprefix.o replication/logical/decode.o 
    replication/logical/launcher.o replication/logical/logical.o 
    replication/logical/logicalfuncs.o replication/logical/message.o 
    replication/logical/origin.o replication/logical/proto.o 
    replication/logical/relation.o replication/logical/reorderbuffer.o 
    replication/logical/snapbuild.o replication/logical/tablesync.o 
    replication/logical/worker.o replication/backup_manifest.o 
    replication/basebackup.o replication/repl_gram.o replication/slot.o 
    replication/slotfuncs.o replication/syncrep.o replication/syncrep_gram.o 
    replication/walreceiver.o replication/walreceiverfuncs.o 
    replication/walsender.o rewrite/rewriteDefine.o rewrite/rewriteHandler.o 
    rewrite/rewriteManip.o rewrite/rewriteRemove.o rewrite/rewriteSupport.o 
    rewrite/rowsecurity.o statistics/dependencies.o 
    statistics/extended_stats.o statistics/mcv.o statistics/mvdistinct.o 
    storage/buffer/buf_init.o storage/buffer/buf_table.o 
    storage/buffer/bufmgr.o storage/buffer/freelist.o 
    storage/buffer/localbuf.o storage/file/buffile.o storage/file/copydir.o 
    storage/file/fd.o storage/file/reinit.o storage/file/sharedfileset.o 
    storage/freespace/freespace.o storage/freespace/fsmpage.o 
    storage/freespace/indexfsm.o storage/ipc/barrier.o storage/ipc/dsm.o 
    storage/ipc/dsm_impl.o storage/ipc/ipc.o storage/ipc/ipci.o 
    storage/ipc/latch.o storage/ipc/pmsignal.o storage/ipc/procarray.o 
    storage/ipc/procsignal.o storage/ipc/shm_mq.o storage/ipc/shm_toc.o 
    storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/signalfuncs.o 
    storage/ipc/sinval.o storage/ipc/sinvaladt.o storage/ipc/standby.o 
    storage/large_object/inv_api.o storage/lmgr/condition_variable.o 
    storage/lmgr/deadlock.o storage/lmgr/lmgr.o storage/lmgr/lock.o 
    storage/lmgr/lwlock.o storage/lmgr/lwlocknames.o 
    storage/lmgr/predicate.o storage/lmgr/proc.o storage/lmgr/s_lock.o 
    storage/lmgr/spin.o storage/page/bufpage.o storage/page/checksum.o 
    storage/page/itemptr.o storage/smgr/md.o storage/smgr/smgr.o 
    storage/sync/sync.o tcop/cmdtag.o tcop/dest.o tcop/fastpath.o 
    tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/dict.o 
    tsearch/dict_ispell.o tsearch/dict_simple.o tsearch/dict_synonym.o 
    tsearch/dict_thesaurus.o tsearch/regis.o tsearch/spell.o 
    tsearch/to_tsany.o tsearch/ts_locale.o tsearch/ts_parse.o 
    tsearch/ts_selfuncs.o tsearch/ts_typanalyze.o tsearch/ts_utils.o 
    tsearch/wparser.o tsearch/wparser_def.o utils/adt/acl.o 
    utils/adt/amutils.o utils/adt/array_expanded.o 
    utils/adt/array_selfuncs.o utils/adt/array_typanalyze.o 
    utils/adt/array_userfuncs.o utils/adt/arrayfuncs.o 
    utils/adt/arrayutils.o utils/adt/ascii.o utils/adt/bool.o 
    utils/adt/cash.o utils/adt/char.o utils/adt/cryptohashes.o 
    utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o 
    utils/adt/dbsize.o utils/adt/domains.o utils/adt/encode.o 
    utils/adt/enum.o utils/adt/expandeddatum.o utils/adt/expandedrecord.o 
    utils/adt/float.o utils/adt/format_type.o utils/adt/formatting.o 
    utils/adt/genfile.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o 
    utils/adt/geo_spgist.o utils/adt/inet_cidr_ntop.o 
    utils/adt/inet_net_pton.o utils/adt/int.o utils/adt/int8.o 
    utils/adt/json.o utils/adt/jsonb.o utils/adt/jsonb_gin.o 
    utils/adt/jsonb_op.o utils/adt/jsonb_util.o utils/adt/jsonfuncs.o 
    utils/adt/jsonpath.o utils/adt/jsonpath_exec.o utils/adt/jsonpath_gram.o 
    utils/adt/like.o utils/adt/like_support.o utils/adt/lockfuncs.o 
    utils/adt/mac.o utils/adt/mac8.o utils/adt/misc.o utils/adt/name.o 
    utils/adt/network.o utils/adt/network_gist.o 
    utils/adt/network_selfuncs.o utils/adt/network_spgist.o 
    utils/adt/numeric.o utils/adt/numutils.o utils/adt/oid.o 
    utils/adt/oracle_compat.o utils/adt/orderedsetaggs.o 
    utils/adt/partitionfuncs.o utils/adt/pg_locale.o utils/adt/pg_lsn.o 
    utils/adt/pg_upgrade_support.o utils/adt/pgstatfuncs.o 
    utils/adt/pseudotypes.o utils/adt/quote.o utils/adt/rangetypes.o 
    utils/adt/rangetypes_gist.o utils/adt/rangetypes_selfuncs.o 
    utils/adt/rangetypes_spgist.o utils/adt/rangetypes_typanalyze.o 
    utils/adt/regexp.o utils/adt/regproc.o utils/adt/ri_triggers.o 
    utils/adt/rowtypes.o utils/adt/ruleutils.o utils/adt/selfuncs.o 
    utils/adt/tid.o utils/adt/timestamp.o utils/adt/trigfuncs.o 
    utils/adt/tsginidx.o utils/adt/tsgistidx.o utils/adt/tsquery.o 
    utils/adt/tsquery_cleanup.o utils/adt/tsquery_gist.o 
    utils/adt/tsquery_op.o utils/adt/tsquery_rewrite.o 
    utils/adt/tsquery_util.o utils/adt/tsrank.o utils/adt/tsvector.o 
    utils/adt/tsvector_op.o utils/adt/tsvector_parser.o utils/adt/uuid.o 
    utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o 
    utils/adt/version.o utils/adt/windowfuncs.o utils/adt/xid.o 
    utils/adt/xid8funcs.o utils/adt/xml.o utils/cache/attoptcache.o 
    utils/cache/catcache.o utils/cache/evtcache.o utils/cache/inval.o 
    utils/cache/lsyscache.o utils/cache/partcache.o utils/cache/plancache.o 
    utils/cache/relcache.o utils/cache/relfilenodemap.o 
    utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o 
    utils/cache/ts_cache.o utils/cache/typcache.o utils/error/assert.o 
    utils/error/elog.o utils/fmgr/dfmgr.o utils/fmgr/fmgr.o 
    utils/fmgr/funcapi.o utils/hash/dynahash.o utils/hash/pg_crc.o 
    utils/init/globals.o utils/init/miscinit.o utils/init/postinit.o 
    utils/mb/conv.o utils/mb/mbutils.o utils/mb/stringinfo_mb.o 
    utils/mb/wstrcmp.o utils/mb/wstrncmp.o utils/misc/guc.o 
    utils/misc/help_config.o utils/misc/pg_config.o 
    utils/misc/pg_controldata.o utils/misc/pg_rusage.o 
    utils/misc/ps_status.o utils/misc/queryenvironment.o utils/misc/rls.o 
    utils/misc/sampling.o utils/misc/superuser.o utils/misc/timeout.o 
    utils/misc/tzparser.o utils/mmgr/aset.o utils/mmgr/dsa.o 
    utils/mmgr/freepage.o utils/mmgr/generation.o utils/mmgr/mcxt.o 
    utils/mmgr/memdebug.o utils/mmgr/portalmem.o utils/mmgr/slab.o 
    utils/resowner/resowner.o utils/sort/logtape.o 
    utils/sort/sharedtuplestore.o utils/sort/sortsupport.o 
    utils/sort/tuplesort.o utils/sort/tuplestore.o utils/time/combocid.o 
    utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o 
    ../../src/timezone/pgtz.o ../../src/timezone/strftime.o jit/jit.o 
    ../../src/common/libpgcommon_srv.a ../../src/port/libpgport_srv.a 
    -L../../src/port -L../../src/common  -L/usr/lib64  -Wl,--as-needed 
    -Wl,-rpath,'/usr/lib64/postgresql/13.1/lib',--enable-new-dtags  -Wl,-E 
    -lpthread -lxslt -lxml2 -lssl -lcrypto -lrt -ldl -lm -licui18n -licuuc 
    -licudata -o postgres
    /usr/bin/ld: commands/alter.o: in function 
    `AlterObjectNamespace_internal':
    alter.c:(.text+0x7c1): undefined reference to 
    `IsThereCollationInNamespace'
    /usr/bin/ld: commands/alter.o: in function `ExecRenameStmt':
    alter.c:(.text+0xfea): undefined reference to 
    `IsThereCollationInNamespace'
    /usr/bin/ld: tcop/utility.o: in function `ProcessUtilitySlow.isra.0':
    utility.c:(.text+0x1ae6): undefined reference to `AlterCollation'
    /usr/bin/ld: utility.c:(.text+0x227c): undefined reference to 
    `DefineCollation'
    /usr/bin/ld: utils/fmgrtab.o:(.rodata+0x10358): undefined reference to 
    `pg_import_system_collations'
    /usr/bin/ld: utils/fmgrtab.o:(.rodata+0x103a0): undefined reference to 
    `pg_collation_actual_version'
    collect2: error: ld returned 1 exit status
    gmake[2]: *** [Makefile:66: postgres] Error 1
    gmake[2]: Leaving directory '/tmp/postgresql-13.1/src/backend'
    gmake[1]: *** [Makefile:42: all-backend-recurse] Error 2
    gmake[1]: Leaving directory '/tmp/postgresql-13.1/src'
    gmake: *** [GNUmakefile:11: all-src-recurse] Error 2
    gmake -C ./src/backend generated-headers
    
    
    Regards,
    Hristo Simneonov
    
    
    
    
  12. Re: Unable to compile postgres 13.1 on Slackware current x64

    Thomas Munro <thomas.munro@gmail.com> — 2020-11-17T09:00:01Z

    On Tue, Nov 17, 2020 at 8:02 PM Condor <condor@stz-bg.com> wrote:
    > I try to compile postgres again with (cd src/backend/commands; sed
    > 's/TRUE/true/' collationcmds.c > collationcmds.c; ) and it's compiled
    > but get new error on linking:
    
    Doesn't that produce an empty file collationcmds.c? I think you want:
    
    sed 's/TRUE/true/' collationcmds.c > collationcmds.c.tmp && mv
    collationcmds.c.tmp collationcmds.c
    
    
    
    
  13. Re: Unable to compile postgres 13.1 on Slackware current x64

    Condor <condor@stz-bg.com> — 2020-11-17T12:33:48Z

    On 17-11-2020 11:00, Thomas Munro wrote:
    > On Tue, Nov 17, 2020 at 8:02 PM Condor <condor@stz-bg.com> wrote:
    >> I try to compile postgres again with (cd src/backend/commands; sed
    >> 's/TRUE/true/' collationcmds.c > collationcmds.c; ) and it's compiled
    >> but get new error on linking:
    > 
    > Doesn't that produce an empty file collationcmds.c? I think you want:
    > 
    > sed 's/TRUE/true/' collationcmds.c > collationcmds.c.tmp && mv
    > collationcmds.c.tmp collationcmds.c
    
    Yes,
    you are right. Changing script to (cd src/backend/commands; sed 
    's/TRUE/true/' collationcmds.c > collationcmds.c.tmp; mv 
    collationcmds.c.tmp collationcmds.c )
    and PostgreSQL is compiled without any errors and working like a charm.
    
    Best Regards,
    Hristo Simeonov
    
    
    
    
  14. Re: Unable to compile postgres 13.1 on Slackware current x64

    Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2020-11-17T16:34:45Z

    On 2020-11-16 18:30, Tom Lane wrote:
    > In this case, I see one use of the constant TRUE in collationcmds.c,
    > but I wonder how come that's there given that we deprecated upper-case
    > TRUE some time ago.
    
    In 2eb4a831e5fb5d8fc17e13aea56e04af3efe27b4, I intentionally left that 
    there because it was the documented ICU API.  Now that that's changed, 
    we should just do s/TRUE/true/ there as suggested.