libspf2
libspf2 copied to clipboard
build error with -Werror=implicit-function-declaration
libspf2 fails to build with -Werror=implicit-function-declaration at
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/include -I../../src -Werror=implicit-function-declaration -Wall -MT spf_utils.lo -MD -MP -MF .deps/spf_utils.Tpo -c spf_utils.c -fPIC -DPIC -o .libs/spf_utils.o
spf_utils.c: In function 'SPF_recalloc':
spf_utils.c:207:9: error: implicit declaration of function 'memset' [-Werror=implicit-function-declaration]
207 | memset(*bufp, '\0', *buflenp);
| ^~~~~~
spf_utils.c:32:1: note: include '<string.h>' or provide a declaration of 'memse'
31 | #include "spf_internal.h"
+++ |+#include <string.h>
32 |
spf_utils.c:207:9: warning: incompatible implicit declaration of built-in function 'memset' [-Wbuiltin-declaration-mismatch]
207 | memset(*bufp, '\0', *buflenp);
| ^~~~~~
spf_utils.c:207:9: note: include '<string.h>' or provide a declaration of 'memset'
cc1: some warnings being treated as errors
This was originally reported in https://bugs.debian.org/1065792 by Sebastian Ramacher with the remark
I've checked the package and while the file already has #include <memory.h> it has it under #ifdef HAVE_MEMORY_H, and configure doesn't seem to set that define in config.h. So it may be a question of modernizing (they are from 2012) or fixing the autotools files.
We have hotfixed this with the attached trivial patch. fix-include.patch.txt