Hello,
detection of HAVE_MYSQL_SSL_VERIFY_SERVER_CERT is currently broken, and the macro is never defined. The test program fails, but for incorrect reason.
--8<---------------cut here---------------start------------->8--- conftest.c:140:20: error: expected declaration specifiers or '...' before ',' token 140 | _au_m4_changequote(,) | ^ conftest.c:140:21: error: expected declaration specifiers or '...' before ')' token 140 | _au_m4_changequote(,) | ^ In file included from /gnu/store/6lmd3apzkmhwzj3yn0inyj484m9qml6y-mariadb-connector-c-3.4.5/include/mariadb/mysql.h:35, from conftest.c:141: /gnu/store/7iwcvd0gjrfq6bj7zvf3r59baw6vib5a-gcc-14.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/14.3.0/include/stdarg.h:103:9: error: unknown type name '__gnuc_va_list' 103 | typedef __gnuc_va_list va_list; | ^~~~~~~~~~~~~~ --8<---------------cut here---------------end--------------->8---
Fix is to delete the only occurrence of _au_m4_changequote([,]) in the m4/want_mysql.m4 file.
However, that will reveal a compilation error here:
--8<---------------cut here---------------start------------->8--- #ifdef HAVE_MYSQL_SSL_VERIFY_SERVER_CERT int ssl_verify_server_cert = ssl_set->ssl_client_require_valid_cert ? 1 : 0;
mysql_options(db->mysql, MYSQL_OPT_SSL_VERIFY_SERVER_CERT,
(void *)&ssl_verify_server_cert);
#endif #else --8<---------------cut here---------------end--------------->8---
Variable ssl_set' does not exist and should be db->ssl_set'.
Have a nice day, Tomas Volf
-- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.