Skip to content

4.6.X build issue against GCC 15 #124

@devrimgunduz

Description

@devrimgunduz

Hi,

pgPool 4.6.X cannot be built against GCC 15 (Fedora 42). Can you please take a look? Thanks!

gcc -DHAVE_CONFIG_H -I. -I../../src/include  -D_GNU_SOURCE -I ../../src/include/parser -I /usr/pgsql-17/include   -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  -Wall -Wmissing-prototypes -Wmissing-declarations -Wno-format-truncation -Wno-stringop-truncation -fno-strict-aliasing -c -o ../../src/utils/error/elog.o ../../src/utils/error/elog.c
In file included from ../../src/include/parser/kwlookup.h:18,
                 from kwlookup.c:19:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: kwlookup.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from stringinfo.c:20:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: stringinfo.o] Error 1
In file included from nodes.c:21:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: nodes.o] Error 1
In file included from ../../src/include/parser/parsenodes.h:26,
                 from value.c:19:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: value.o] Error 1
In file included from ../../src/utils/mmgr/mcxt.c:24:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: ../../src/utils/mmgr/mcxt.o] Error 1
In file included from ../../src/include/parser/kwlookup.h:18,
                 from ../../src/include/parser/keywords.h:18,
                 from keywords.c:18:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: keywords.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from makefuncs.c:17:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: makefuncs.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from scansup.c:16:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
In file included from ../../src/include/parser/pool_parser.h:22,
                 from ../../src/include/parser/stringinfo.h:25,
                 from ../../src/include/utils/elog.h:20,
                 from list.c:20:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: scansup.o] Error 1
make[3]: *** [Makefile:433: list.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from parser.c:25:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: parser.o] Error 1
In file included from ../../src/utils/mmgr/aset.c:47:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: ../../src/utils/mmgr/aset.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from wchar.c:8:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: wchar.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from scan.c:33:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: scan.o] Error 1
In file included from outfuncs.c:19:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: outfuncs.o] Error 1
In file included from ../../src/include/pool.h:28,
                 from copyfuncs.c:24:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: copyfuncs.o] Error 1
In file included from ../../src/include/pool.h:28,
                 from ../../src/utils/error/elog.c:56:
../../src/include/pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: ../../src/utils/error/elog.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from gram_minimal.y:48:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~
make[3]: *** [Makefile:433: gram_minimal.o] Error 1
In file included from ../../src/include/parser/pool_parser.h:22,
                 from gram.y:48:
../../src/include/parser/../pool_type.h:44:14: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef char bool;
      |              ^~~~
../../src/include/parser/../pool_type.h:44:14: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/include/parser/../pool_type.h:44:1: warning: useless type name in empty declaration
   44 | typedef char bool;
      | ^~~~~~~

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions