Thread

  1. 17f446784d54da827f74c2acc0fa772a41b92354 breaks orafce build

    Pavel Stehule <pavel.stehule@gmail.com> — 2025-12-26T08:12:09Z

    Hi
    
    I tried to build Orafce against the master without success. After some
    searching I found so patch
    
    commit 17f446784d54da827f74c2acc0fa772a41b92354 -- fail
    Author: Peter Eisentraut <peter@eisentraut.org>
    Date:   Mon Dec 15 11:43:11 2025
    
        Refactor static_assert() support.
    
    does it.
    
    It fails with strange errors
    
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
    expected parameter declarator
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          |                  ^
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
    expected ')'
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: note: to
    match this '('
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          | ^
    /usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
    macro 'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |                      ^
    In file included from orafce.c:2:
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: error: type
    specifier missing, defaults to 'int'; ISO C99 and later do not support
    implicit int [-Wimplicit-int]
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          | ^
          | int
    /usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
    'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |         ^
    In file included from orafce.c:4:
    In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
    In file included from
    /usr/local/pgsql/master/include/server/utils/array.h:64:
    /usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected
    parameter declarator
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          |                  ^
    /usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected ')'
    /usr/local/pgsql/master/include/server/fmgr.h:508:1: note: to match this '('
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          | ^
    /usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
    macro 'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |                      ^
    In file included from orafce.c:4:
    In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
    In file included from
    /usr/local/pgsql/master/include/server/utils/array.h:64:
    /usr/local/pgsql/master/include/server/fmgr.h:508:1: error: type specifier
    missing, defaults to 'int'; ISO C99 and later do not support implicit int
    [-Wimplicit-int]
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          | ^
          | int
    /usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
    'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |         ^
    6 errors generated.
    make: ***
    [/usr/local/pgsql/master/lib/pgxs/src/makefiles/../../src/Makefile.global:1101:
    orafce.bc] Chyba 1
    /usr/lib64/ccache/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/usr/local/pgsql/master/include/server
    -I/usr/local/pgsql/master/include/internal -D_GNU_SOURCE
     -I/usr/include/libxml2 -DWITH_GZFILEOP    -flto=thin -emit-llvm -c -o
    orafce.bc orafce.c
    In file included from orafce.c:2:
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
    expected parameter declarator
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          |                  ^
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
    expected ')'
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: note: to
    match this '('
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          | ^
    /usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
    macro 'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |                      ^
    In file included from orafce.c:2:
    /usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: error: type
    specifier missing, defaults to 'int'; ISO C99 and later do not support
    implicit int [-Wimplicit-int]
       64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
          | ^
          | int
    /usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
    'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |         ^
    In file included from orafce.c:4:
    In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
    In file included from
    /usr/local/pgsql/master/include/server/utils/array.h:64:
    /usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected
    parameter declarator
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          |                  ^
    /usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected ')'
    /usr/local/pgsql/master/include/server/fmgr.h:508:1: note: to match this '('
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          | ^
    /usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
    macro 'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |                      ^
    In file included from orafce.c:4:
    In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
    In file included from
    /usr/local/pgsql/master/include/server/utils/array.h:64:
    /usr/local/pgsql/master/include/server/fmgr.h:508:1: error: type specifier
    missing, defaults to 'int'; ISO C99 and later do not support implicit int
    [-Wimplicit-int]
      508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
    *) 0)->abi_extra),
          | ^
          | int
    /usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
    'StaticAssertDecl'
      941 |         static_assert(condition, errmessage)
          |         ^
    6 errors generated.
    make: ***
    [/usr/local/pgsql/master/lib/pgxs/src/makefiles/../../src/Makefile.global:1101:
    orafce.bc] Chyba 1
    
    pavel@nemesis:~/src/postgresql/src$ gcc --version
    gcc (GCC) 15.2.1 20251211 (Red Hat 15.2.1-5)
    Copyright (C) 2025 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    Unfortunately I am not able to fix it. The master can be build without any
    problem
    
    Regards
    
    Pavel