public inbox for [email protected]  
help / color / mirror / Atom feed
pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
6+ messages / 1 participants
[nested] [flat]

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/915e88968034a7422679b74c3002f5c150c33e35

Modified Files
--------------
configure                  | 14 +++++++++++++-
configure.ac               |  2 +-
meson.build                | 21 ++++++++++++++++++---
src/include/pg_config.h.in |  7 ++++---
src/port/snprintf.c        | 29 +++++++++++++----------------
5 files changed, 49 insertions(+), 24 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6da2ba1d8a031984eb016fed6741bb2ac945f19d

Modified Files
--------------
configure                  | 14 +++++++++++++-
configure.ac               |  2 +-
meson.build                | 21 ++++++++++++++++++---
src/include/pg_config.h.in |  7 ++++---
src/port/snprintf.c        | 29 +++++++++++++----------------
5 files changed, 49 insertions(+), 24 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/71790aef1a6eea6f9662a1edcd669d89d5486b03

Modified Files
--------------
configure                  | 14 +++++++++++++-
configure.ac               |  2 +-
src/include/pg_config.h.in |  7 ++++---
src/port/snprintf.c        | 29 +++++++++++++----------------
src/tools/msvc/Solution.pm |  2 +-
5 files changed, 32 insertions(+), 22 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e4440a73c7ef5f19da9501eca06b61e252d392d0

Modified Files
--------------
configure                  | 110 ++++++++++++++++++++++++++++++++++++++++++++-
configure.in               |   9 +++-
src/include/pg_config.h.in |   7 +--
src/port/snprintf.c        |  29 ++++++------
src/tools/msvc/Solution.pm |   2 +-
5 files changed, 135 insertions(+), 22 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/a39eb9c77faaf51f8d02da718546e77e00a7622a

Modified Files
--------------
configure                  | 14 +++++++++++++-
configure.ac               |  2 +-
meson.build                | 21 ++++++++++++++++++---
src/include/pg_config.h.in |  7 ++++---
src/port/snprintf.c        | 29 +++++++++++++----------------
src/tools/msvc/Solution.pm |  2 +-
6 files changed, 50 insertions(+), 25 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Fix detection and handling of strchrnul() for macOS 15.4.
@ 2025-04-01 20:50 Tom Lane <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Tom Lane @ 2025-04-01 20:50 UTC (permalink / raw)
  To: [email protected]

Fix detection and handling of strchrnul() for macOS 15.4.

As of 15.4, macOS has strchrnul(), but access to it is blocked behind
a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
configure check finds it, so we try to use it, and fail with the
present default deployment target (namely 15.0).  This accounts for
today's buildfarm failures on indri and sifaka.

This is the identical problem that we faced some years ago when Apple
introduced preadv and pwritev in the same way.  We solved that in
commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
to check the functions' availability.  So do the same now for
strchrnul().  Interestingly, we already had a workaround for
"the link check doesn't agree with <string.h>" cases with glibc,
which we no longer need since only the header declaration is being
checked.

Testing this revealed that the meson version of this check has never
worked, because it failed to use "-Werror=unguarded-availability-new".
(Apparently nobody's tried to build with meson on macOS versions that
lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
we had never put support for "-Werror=unguarded-availability-new"
into v13, but we need that now.

Co-authored-by: Tom Lane <[email protected]>
Co-authored-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 13

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0de9560ba9b8fc4f0de8c5784303db82156279a6

Modified Files
--------------
configure                  | 14 +++++++++++++-
configure.ac               |  2 +-
src/include/pg_config.h.in |  7 ++++---
src/port/snprintf.c        | 29 +++++++++++++----------------
src/tools/msvc/Solution.pm |  2 +-
5 files changed, 32 insertions(+), 22 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread


end of thread, other threads:[~2025-04-01 20:50 UTC | newest]

Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>
2025-04-01 20:50 pgsql: Fix detection and handling of strchrnul() for macOS 15.4. Tom Lane <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox