Thread

  1. git head build failure

    Devrim Gündüz <devrim@gunduz.org> — 2025-10-07T07:48:56Z

    
    Hi,
    
    My daily alpha RPMs failed to build in the last 2 days. Using the
    tarball here:
    
    https://ftp.postgresql.org/pub/snapshot/dev/
    
    
    This happens on all of my RHEL/Fedora boxes (gcc 8.5.0 to 15.2.1) (clang 19 to clang 21):
    =======================================
    /usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-format-truncation -O2  -I. -I. -I../../src/include -D_GNU_SOURCE  -I/usr/include -I/usr/include/libxml2 -DWITH_GZFILEOP    -flto=thin -emit-llvm -c -o funcs.bc funcs.c
    funcs.c:74:35: error: call to undeclared function 'VARSIZE_ANY_EXHDR'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
       74 |         text       *new_t = (text *) palloc(VARSIZE_ANY_EXHDR(t) + VARHDRSZ);
          |                                             ^
    funcs.c:76:2: error: call to undeclared function 'SET_VARSIZE'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
       76 |         SET_VARSIZE(new_t, VARSIZE_ANY_EXHDR(t) + VARHDRSZ);
          |         ^
    gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -Wmissing-variable-declarations -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -fvisibility=hidden complex.o -L../../src/port -L../../src/common -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1    -L/usr/lib64 -Wl,--as-needed -Wl,-rpath,'/usr/pgsql-19/lib',--enable-new-dtags -fvisibility=hidden -shared -o complex.so
    funcs.c:82:9: error: call to undeclared function 'VARDATA'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
       82 |         memcpy(VARDATA(new_t),          /* destination */
          |                ^
    funcs.c:83:6: error: call to undeclared function 'VARDATA_ANY'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
       83 |                    VARDATA_ANY(t),              /* source */
          |                    ^
    funcs.c:82:9: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'void *' [-Wint-conversion]
       82 |         memcpy(VARDATA(new_t),          /* destination */
          |                ^~~~~~~~~~~~~~
    /usr/include/string.h:43:39: note: passing argument to parameter '__dest' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                       ^
    funcs.c:83:6: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const void *' [-Wint-conversion]
       83 |                    VARDATA_ANY(t),              /* source */
          |                    ^~~~~~~~~~~~~~
    /usr/include/string.h:43:70: note: passing argument to parameter '__src' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                                                      ^
    funcs.c:95:21: error: call to undeclared function 'VARSIZE_ANY_EXHDR'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
       95 |         int32           arg1_size = VARSIZE_ANY_EXHDR(arg1);
          |                                     ^
    funcs.c:100:2: error: call to undeclared function 'SET_VARSIZE'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      100 |         SET_VARSIZE(new_text, new_text_size);
          |         ^
    funcs.c:101:9: error: call to undeclared function 'VARDATA'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                ^
    funcs.c:101:28: error: call to undeclared function 'VARDATA_ANY'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                                   ^
    funcs.c:101:9: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'void *' [-Wint-conversion]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                ^~~~~~~~~~~~~~~~~
    /usr/include/string.h:43:39: note: passing argument to parameter '__dest' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                       ^
    funcs.c:101:28: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const void *' [-Wint-conversion]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                                   ^~~~~~~~~~~~~~~~~
    /usr/include/string.h:43:70: note: passing argument to parameter '__src' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                                                      ^
    funcs.c:102:9: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'void *' [-Wint-conversion]
      102 |         memcpy(VARDATA(new_text) + arg1_size, VARDATA_ANY(arg2), arg2_size);
          |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/string.h:43:39: note: passing argument to parameter '__dest' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                       ^
    funcs.c:102:40: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const void *' [-Wint-conversion]
      102 |         memcpy(VARDATA(new_text) + arg1_size, VARDATA_ANY(arg2), arg2_size);
          |                                               ^~~~~~~~~~~~~~~~~
    /usr/include/string.h:43:70: note: passing argument to parameter '__src' here
       43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
          |                                                                      ^
    14 errors generated.
    make[1]: *** [../../src/Makefile.global:1100: funcs.bc] Error 1
    make[1]: *** Waiting for unfinished jobs....
    funcs.c: In function ‘copytext’:
    funcs.c:74:45: error: implicit declaration of function ‘VARSIZE_ANY_EXHDR’ [-Wimplicit-function-declaration]
       74 |         text       *new_t = (text *) palloc(VARSIZE_ANY_EXHDR(t) + VARHDRSZ);
          |                                             ^~~~~~~~~~~~~~~~~
    funcs.c:76:9: error: implicit declaration of function ‘SET_VARSIZE’ [-Wimplicit-function-declaration]
       76 |         SET_VARSIZE(new_t, VARSIZE_ANY_EXHDR(t) + VARHDRSZ);
          |         ^~~~~~~~~~~
    funcs.c:82:16: error: implicit declaration of function ‘VARDATA’ [-Wimplicit-function-declaration]
       82 |         memcpy(VARDATA(new_t),          /* destination */
          |                ^~~~~~~
    funcs.c:83:20: error: implicit declaration of function ‘VARDATA_ANY’ [-Wimplicit-function-declaration]
       83 |                    VARDATA_ANY(t),              /* source */
          |                    ^~~~~~~~~~~
    funcs.c:82:16: error: passing argument 1 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
       82 |         memcpy(VARDATA(new_t),          /* destination */
          |                ^~~~~~~~~~~~~~
          |                |
          |                int
    In file included from /usr/include/features.h:524,
                     from /usr/include/inttypes.h:25,
                     from ../../src/include/c.h:62,
                     from ../../src/include/postgres.h:48,
                     from funcs.c:11:
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘void *’ but argument is of type ‘int’
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    funcs.c:83:20: error: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
       83 |                    VARDATA_ANY(t),              /* source */
          |                    ^~~~~~~~~~~~~~
          |                    |
          |                    int
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘const void *’ but argument is of type ‘int’
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    funcs.c: In function ‘concat_text’:
    funcs.c:101:16: error: passing argument 1 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                ^~~~~~~~~~~~~~~~~
          |                |
          |                int
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘void *’ but argument is of type ‘int’
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    funcs.c:101:35: error: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
      101 |         memcpy(VARDATA(new_text), VARDATA_ANY(arg1), arg1_size);
          |                                   ^~~~~~~~~~~~~~~~~
          |                                   |
          |                                   int
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘const void *’ but argument is of type ‘int’
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    funcs.c:102:34: error: passing argument 1 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
      102 |         memcpy(VARDATA(new_text) + arg1_size, VARDATA_ANY(arg2), arg2_size);
          |                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
          |                                  |
          |                                  int32 {aka int}
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘void *’ but argument is of type ‘int32’ {aka ‘int’}
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    funcs.c:102:47: error: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
      102 |         memcpy(VARDATA(new_text) + arg1_size, VARDATA_ANY(arg2), arg2_size);
          |                                               ^~~~~~~~~~~~~~~~~
          |                                               |
          |                                               int
    /usr/include/bits/string_fortified.h:26:1: note: expected ‘const void *’ but argument is of type ‘int’
       26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
          | ^~~~~
    
    =======================================
    
    Regards,
    -- 
    Devrim Gündüz
    Open Source Solution Architect, PostgreSQL Major Contributor
    BlueSky: @devrim.gunduz.org , @gunduz.org