Source: libnss-mysql
Version: 1.6.1-3
Severity: serious
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: [email protected]
libnss-mysql ftbfs on GCC 15. Setting '-std=gnu17' fixes the issue per the
patch attached.
Failure log:
[...]
nss_main.c: In function '_nss_mysql_atfork_prepare':
nss_main.c:123:11: error: assignment to 'int (*)(void)' from incompatible
pointer type 'int (*)(int)' [-Wincompatible-pointer-types]
123 | trylock = (int (*)(int))dlsym (RTLD_DEFAULT, "pthread_mutex_trylock");
| ^
nss_main.c:125:10: error: too many arguments to function 'trylock'; expected 0,
have 1
125 | if ((*trylock) (&lock) == 0)
| ~^~~~~~~~~ ~~~~~
nss_main.c: In function '_nss_mysql_pthread_once_init':
nss_main.c:174:18: error: assignment to 'int (*)(void)' from incompatible
pointer type 'int (*)(int)' [-Wincompatible-pointer-types]
174 | pthread_atfork = (int (*)(int))dlsym (RTLD_DEFAULT, "pthread_atfork");
| ^
nss_main.c:176:6: error: too many arguments to function 'pthread_atfork';
expected 0, have 3
176 | (*pthread_atfork) (_nss_mysql_atfork_prepare,
_nss_mysql_atfork_parent,
| ~^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
nss_main.c: In function '_nss_mysql_init':
nss_main.c:228:16: error: assignment to 'int (*)(void)' from incompatible
pointer type 'int (*)(int)' [-Wincompatible-pointer-types]
228 | pthread_once = (int (*)(int))dlsym (RTLD_DEFAULT, "pthread_once");
| ^
nss_main.c:230:6: error: too many arguments to function 'pthread_once';
expected 0, have 2
230 | (*pthread_once) (&_nss_mysql_once_control,
_nss_mysql_pthread_once_init);
| ~^~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
mysql.c: In function '_nss_mysql_connect_sql':
mysql.c:221:7: warning: the comparison will always evaluate as 'true' for the
address of 'port' will never be NULL [-Waddress]
221 | if (server->port)
| ^~~~~~
In file included from mysql.c:24:
nss_mysql.h:212:8: note: 'port' declared here
212 | char port[MAX_VAL_SIZE]; /* SQL port to connect to */
| ^~~~
make[3]: *** [Makefile:500: nss_main.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
nss_config.c: In function '_nss_mysql_load_config_file':
nss_config.c:85:11: warning: 'strncpy' output may be truncated copying 128
bytes from a string of length 1023 [-Wstringop-truncation]
85 | strncpy (key, cur, key_size);
| ^
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:438: all-recursive] Error 1
>From ed509ca4ef0db29b281c2b7ac8c8fb47a97fe2d9 Mon Sep 17 00:00:00 2001
From: Mateus Rodrigues de Morais <[email protected]>
Date: Tue, 2 Sep 2025 17:10:24 -0300
Subject: [PATCH] d/rules: set std to gnu17
---
debian/rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/rules b/debian/rules
index 8ce9dd3..277224c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,7 +5,7 @@
# extra hardening and stuff
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow qa=+bug
-export DEB_CFLAGS_MAINT_APPEND = -Wall
+export DEB_CFLAGS_MAINT_APPEND = -Wall -std=gnu17
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
--
2.48.1