17f446784d54da827f74c2acc0fa772a41b92354 breaks orafce build - Mailing list pgsql-hackers

From Pavel Stehule
Subject 17f446784d54da827f74c2acc0fa772a41b92354 breaks orafce build
Date
Msg-id CAFj8pRAJXHUe=AXf78HL9NtyDwqHmMTqDREjcmCJSgFJvw_Rtw@mail.gmail.com
Whole thread Raw
Responses Re:17f446784d54da827f74c2acc0fa772a41b92354 breaks orafce build
List pgsql-hackers
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


pgsql-hackers by date:

Previous
From: Shinya Kato
Date:
Subject: Re: remove unnecessary include in src/backend/commands/policy.c
Next
From: Chao Li
Date:
Subject: Re: Implement waiting for wal lsn replay: reloaded