libspf2 icon indicating copy to clipboard operation
libspf2 copied to clipboard

build error with -Werror=implicit-function-declaration

Open ametzler opened this issue 1 year ago • 0 comments

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

ametzler avatar Mar 25 '24 10:03 ametzler