BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: peter_dyballa(at)web(dot)de
Subject: BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate
Date: 2025-09-24 11:21:42
Message-ID: 19062-878185d630b541b4@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 19062
Logged by: Peter Dyballa
Email address: peter_dyballa(at)web(dot)de
PostgreSQL version: Unsupported/Unknown
Operating system: Mac OS X 10.5.8, &quot;Leopard&quot;, PowerPC
Description:

With default compiler /usr/bin/gcc-4.2 (powerpc-apple-darwin9-gcc-4.2.1
(GCC) 4.2.1 (Apple Inc. build 5577)) the error is:

pg_collation.c:55: error: conflicting types for ‘CollationCreate’
../../../src/include/catalog/pg_collation.h:70: error: previous declaration
of ‘CollationCreate’ was here
pg_collation.c: In function ‘CollationCreate’:
pg_collation.c:196: warning: passing argument 3 of ‘heap_form_tuple’ from
incompatible pointer type
gnumake[3]: *** [pg_collation.o] Error 1
gnumake[3]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend/catalog'
gnumake[2]: *** [catalog-recursive] Error 2
gnumake[2]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend'
gnumake[1]: *** [all-backend-recurse] Error 2
gnumake[1]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src'
gnumake: *** [world-src-recurse] Error 2
gnumake: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22'
Command failed: cd
"/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22"
&& /usr/bin/gnumake -w world

With more up-to-date compiler /opt/local/bin/gcc-mp-14 (gcc-mp-14 (MacPorts
gcc14 14.2.0_1)) it is:

/opt/local/bin/gcc-mp-14 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv
-fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation
-pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc
-I../../../src/include -I/opt/local/libexec/openssl3/include
-isystem/opt/local/include -I/opt/local/include/libxml2
-I/opt/local/include -c -o pg_collation.o pg_collation.c
pg_collation.c:46:1: error: conflicting types for 'CollationCreate'; have
'Oid(const char *, Oid, Oid, char, _Bool, int32, const char *, const
char *, const char *, _Bool, _Bool)' {aka 'unsigned int(const char *,
unsigned int, unsigned int, char, _Bool, int, const char *, const char
*, const char *, _Bool, _Bool)'}
46 | CollationCreate(const char *collname, Oid collnamespace,
| ^~~~~~~~~~~~~~~
In file included from pg_collation.c:25:
../../../src/include/catalog/pg_collation.h:62:17: note: previous
declaration of 'CollationCreate' with type 'Oid(const char *, Oid, Oid,
char, bool, int32, const char *, const char *, const char *, bool,
bool)' {aka 'unsigned int(const char *, unsigned int, unsigned int, char,
unsigned char, int, const char *, const char *, const char *, unsigned
char, unsigned char)'}
62 | extern Oid CollationCreate(const char *collname, Oid
collnamespace,
| ^~~~~~~~~~~~~~~
pg_collation.c: In function 'CollationCreate':
pg_collation.c:196:48: error: passing argument 3 of 'heap_form_tuple' from
incompatible pointer type [-Wincompatible-pointer-types]
196 | tup = heap_form_tuple(tupDesc, values, nulls);
| ^~~~~
| |
| _Bool *
In file included from pg_collation.c:18:
../../../src/include/access/htup_details.h:794:87: note: expected 'bool *'
{aka 'unsigned char *'} but argument is of type '_Bool *'
794 |
Datum *values, bool *isnull);
|
~~~~~~^~~~~~
gnumake[3]: *** [pg_collation.o] Error 1
gnumake[3]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend/catalog'
gnumake[2]: *** [catalog-recursive] Error 2
gnumake[2]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend'
gnumake[1]: *** [all-backend-recurse] Error 2
gnumake[1]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src'
gnumake: *** [world-src-recurse] Error 2
gnumake: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22'
Command failed: cd
"/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22"
&& /usr/bin/gnumake -w world

--

Pete

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Wei Sun 2025-09-24 11:27:11 回复: The issue of incorrect width estimation in UNION queries
Previous Message David Rowley 2025-09-24 10:47:02 Re: The issue of incorrect width estimation in UNION queries