From a0ea7128d201d6a0c96766dfab5f06acff06a7d7 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 22 Apr 2025 19:57:42 +0200 Subject: psqlodbc: fix build with gcc-15 configure: make sure to call AC_CHECK_HEADER_STDBOOL before using ac_cv_sizeof_bool It was called after this conditional, so PG_USE_STDBOOL wasn't set even when it should be as shown in at the end of config.log: ac_cv_header_stdbool_h=yes ac_cv_sizeof_bool=1 ac_cv_type__Bool=yes #define SIZEOF_BOOL 1 #define HAVE__BOOL 1 #define HAVE_STDBOOL_H 1 * fixes: https://github.com/postgresql-interfaces/psqlodbc/issues/110 https://github.com/postgresql-interfaces/psqlodbc/issues/94 http://errors.yoctoproject.org/Errors/Details/852841/ In file included from ../psqlodbc-16.00.0000/environ.h:16, from ../psqlodbc-16.00.0000/environ.c:16: ../psqlodbc-16.00.0000/psqlodbc.h:264:23: error: 'bool' cannot be defined via 'typedef' 264 | typedef unsigned char bool; | ^~~~ Signed-off-by: Martin Jansa Signed-off-by: Khem Raj --- ...make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch | 45 ++++++++++++++++++++++ .../recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb | 1 + 2 files changed, 46 insertions(+) create mode 100644 meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch diff --git a/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch b/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch new file mode 100644 index 0000000000..9cc5ad9b86 --- /dev/null +++ b/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch @@ -0,0 +1,45 @@ +From 5bfa9f1cd0523a0cad70cacf5ecf8c1aeb06c4d0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 22 Apr 2025 17:47:02 +0000 +Subject: [PATCH] configure: make sure to call AC_CHECK_HEADER_STDBOOL + +before using ac_cv_sizeof_bool + +It was called after this conditional, so PG_USE_STDBOOL wasn't set +even when it should be as shown in at the end of config.log: + + ac_cv_header_stdbool_h=yes + ac_cv_sizeof_bool=1 + ac_cv_type__Bool=yes + #define SIZEOF_BOOL 1 + #define HAVE__BOOL 1 + #define HAVE_STDBOOL_H 1 + +* fixes: + https://github.com/postgresql-interfaces/psqlodbc/issues/110 + https://github.com/postgresql-interfaces/psqlodbc/issues/94 + +Upstream-Status: Submitted [https://github.com/postgresql-interfaces/psqlodbc/pull/112] + +Signed-off-by: Martin Jansa +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f35c825..ea363ca 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -28,9 +28,11 @@ AC_CHECK_SIZEOF([bool], [], + #include + #endif]) + ++AC_CHECK_HEADER_STDBOOL() ++ + dnl We use if we have it and it declares type bool as having + dnl size 1. Otherwise, c.h will fall back to declaring bool as unsigned char. +-if test "$ac_cv_header_stdbool_h" = yes -a "$ac_cv_sizeof_bool" = 1; then ++if test "$ac_cv_header_stdbool_h" = yes && test "$ac_cv_sizeof_bool" = 1; then + AC_DEFINE([PG_USE_STDBOOL], 1, + [Define to 1 to use to define type bool.]) + fi diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb index d3b3ea5109..dfd7f6a1e6 100644 --- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb +++ b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb @@ -23,6 +23,7 @@ SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions.old/src/${BPN}-${PV}.tar. file://psqlodbc-remove-some-checks-for-cross-compiling.patch \ file://psqlodbc-donot-use-the-hardcode-libdir.patch \ file://psqlodbc-fix-for-ptest-support.patch \ + file://0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch \ file://run-ptest \ " -- cgit v1.2.3-54-g00ecf