diff mbox series

[meta-oe,2/2] libiodbc: use gnu17 and ignore incompatible-pointer-types to allow building with gcc-15

Message ID 20250429105224.1462276-2-martin.jansa@gmail.com
State Accepted
Headers show
Series [meta-oe,1/2] freerdp: use gnu17 to allow building with gcc-15 | expand

Commit Message

Martin Jansa April 29, 2025, 10:52 a.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

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 <martin.jansa@gmail.com>
---
 meta-oe/recipes-support/libiodbc/libiodbc_3.52.16.bb | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

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"