With Fedora 40, it’s gcc 14.1.1, which appears to have the issue. In Fedora 39 (where the compile succeeds), it’s gcc 13.3.1.
It looks like some warnings have been elevated to errors in gcc 14: https://gcc.gnu.org/gcc-14/porting_to.html There are a few options listed under “Turning errors back into warnings”, but I’m not sure which of these will have the least side effects. :) Not sure why this is unique to PostgreSQL 16, though… Thanks, Kavian From: Steve Singer <[email protected]> Date: Monday, June 24, 2024 at 8:10 PM To: Moradhassel, Kavian <[email protected]> Cc: [email protected] <[email protected]> Subject: [**EXTERNAL**] Re: [Slony1-general] Slony 2.2.11 build errors with PostgreSQL 16 on Fedora 40 On Mon, 24 Jun 2024, Moradhassel, Kavian via Slony1-general wrote: What compiler are you using. When I built against PG16 I get a warning not an error for this. ~~~ slony1_funcs.c: In function ‘getClusterStatus’: slony1_funcs.c:2515:100: warning: passing argument 1 of ‘DatumGetCString’ makes integer from pointer without a cast [-Wint-conversion] 2515 | elog(ERROR, "Slony-I: Node is uninitialized - cluster %s", DatumGetCString(cluster_name)); | ^~~~~~~~~~~~ | | | Name {aka struct nameData *} ~~~ This is with gcc 12.2.0 Steve > > Hi all, > > > > I’m getting errors building Slony with PostgreSQL 16 on Fedora 40. I don’t > see the issues with PostgreSQL 15 on Fedora 40, and I don’t see them with > PostgreSQL 16 on Fedora 39. :) > > > > Here are what I believe to be the relevant errors in the build process: > > > > ************************************************************************************ > > gcc -fcommon -Wall -Wmissing-prototypes -Wmissing-declarations -fno-common > -I../.. -fpic -I/opt/postgresql/include/server/ -I. -c -o slony1_funcs.o > slony1_funcs.c > > In file included from /opt/postgresql/include/server/postgres.h:46, > > from slony1_funcs.c:13: > > slony1_funcs.c: In function ‘getClusterStatus’: > > slony1_funcs.c:2515:100: error: passing argument 1 of ‘DatumGetCString’ makes > integer from pointer without a cast [-Wint-conversion] > > 2515 | elog(ERROR, "Slony-I: Node is uninitialized - > cluster %s", DatumGetCString(cluster_name)); > > | > ^~~~~~~~~~~~ > > | > | > > | > Name {aka struct nameData *} > > /opt/postgresql/include/server/utils/elog.h:147:25: note: in definition of > macro ‘ereport_domain’ > > 147 | __VA_ARGS__, errfinish(__FILE__, __LINE__, > __func__); \ > > | ^~~~~~~~~~~ > > /opt/postgresql/include/server/utils/elog.h:239:9: note: in expansion of > macro ‘ereport’ > > 239 | ereport(elevel, errmsg_internal(__VA_ARGS__)) > > | ^~~~~~~ > > slony1_funcs.c:2515:25: note: in expansion of macro ‘elog’ > > 2515 | elog(ERROR, "Slony-I: Node is uninitialized - > cluster %s", DatumGetCString(cluster_name)); > > | ^~~~ > > /opt/postgresql/include/server/postgres.h:335:23: note: expected ‘Datum’ {aka > ‘long unsigned int’} but argument is of type ‘Name’ {aka ‘struct nameData > *’} > > 335 | DatumGetCString(Datum X) > > | ~~~~~~^ > > make[2]: *** [/tmp/slony/Makefile.port:18: slony1_funcs.o] Error 1 > > make[2]: Leaving directory '/tmp/slony/src/backend' > > make[1]: Leaving directory '/tmp/slony/src' > > make[1]: *** [Makefile:23: install] Error 2 > > make: *** [GNUmakefile:48: install] Error 2 > > ************************************************************************************ > > > > Is this a bug that needs a fix in Slony, or is there a compile flag I can use > to work around this? > > > > Thanks! > > Kavian > > > > >
_______________________________________________ Slony1-general mailing list [email protected] https://lists.slony.info/cgi-bin/mailman/listinfo/slony1-general
