From eabddce219d0b1f837c5ea446e2710775f7d4d0e Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 29 Apr 2025 12:52:24 +0200 Subject: [PATCH] libiodbc: use gnu17 and ignore incompatible-pointer-types to allow building with gcc-15 A fix was sent in: https://lists.openembedded.org/g/openembedded-devel/message/116537 but it causes issues with clang as well as older gcc as reported on ML and also in upstream PR: https://github.com/openlink/iODBC/pull/111 Use gnu17 until this is properly resolved to avoid: http://errors.yoctoproject.org/Errors/Details/852861/ In file included from ../../libiodbc-3.52.16/iodbc/execute.c:94: ../../libiodbc-3.52.16/iodbc/execute.c: In function '_ReBindParam': ../../libiodbc-3.52.16/iodbc/execute.c:643:49: error: too many arguments to function 'hproc3'; expected 0, have 8 643 | CALL_DRIVER (pstmt->hdbc, pstmt, retcode, hproc3, | ^~~~~~ http://errors.yoctoproject.org/Errors/Details/853276/ ../../libiodbc-3.52.16/iodbcinst/unicode.c: In function 'dm_AtoUW': ../../libiodbc-3.52.16/iodbcinst/unicode.c:1565:16: error: initialization of 'ucs4_t *' {aka 'unsigned int *'} from incompatible pointer type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types] 1565 | ucs4_t *us = dest; | ^~~~ Signed-off-by: Martin Jansa Signed-off-by: Khem Raj Signed-off-by: Gyorgy Sarvari --- meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb b/meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb index 644c3ba07b..0478ef3403 100644 --- a/meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb +++ b/meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb @@ -31,3 +31,9 @@ EXTRA_OECONF += " --prefix=/usr/local \ inherit multilib_script MULTILIB_SCRIPTS = "${PN}:${bindir}/iodbc-config" + +# avoid http://errors.yoctoproject.org/Errors/Details/852861/ +CFLAGS += "-std=gnu17" +# http://errors.yoctoproject.org/Errors/Details/853276/ +# libiodbc-3.52.16/iodbcinst/unicode.c:1565:16: error: initialization of 'ucs4_t *' {aka 'unsigned int *'} from incompatible pointer type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types"