Bug#1066712: hunt: FTBFS: timer.c:154:17: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration]
Source: hunt
Version: 1.5-8
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration
Relevant part (hopefully):
> cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -g -D_REENTRANT -std=gnu89 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -Wdate-time -D_FORTIFY_SOURCE=2 -c -o pktrelay.o pktrelay.c
> timer.c: In function ‘timer_init’:
> timer.c:154:17: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration]
> 154 | exit(1);
> | ^~~~
> timer.c:12:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> 11 | #include "hunt.h"
> +++ |+#include <stdlib.h>
> 12 |
> timer.c:154:17: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 154 | exit(1);
> | ^~~~
> timer.c:154:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> In file included from pktrelay.c:9:
> hunt.h:410:5: warning: conflicting types for built-in function ‘log2’; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
> 410 | int log2(unsigned int i);
> | ^~~~
> hunt.h:48:1: note: ‘log2’ is declared in header ‘<math.h>’
> 47 | #include "c/hash.h"
> +++ |+#include <math.h>
> 48 |
> pktrelay.c: In function ‘relay_add_item’:
> pktrelay.c:270:44: warning: pointer targets in passing argument 4 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 270 | &src_mask, src_ports, 0, 0, NULL) < 0)
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:371:55: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 371 | unsigned int *ret_mask, unsigned int *ret_ports,
> | ~~~~~~~~~~~~~~^~~~~~~~~
> pktrelay.c:273:44: warning: pointer targets in passing argument 4 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 273 | &dst_mask, dst_ports, 0, 0, NULL) < 0)
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:371:55: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 371 | unsigned int *ret_mask, unsigned int *ret_ports,
> | ~~~~~~~~~~~~~~^~~~~~~~~
> pktrelay.c:294:20: warning: pointer targets in passing argument 1 of ‘port_htons’ differ in signedness [-Wpointer-sign]
> 294 | port_htons(src_ports);
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:428:31: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 428 | void port_htons(unsigned int *db_ports);
> | ~~~~~~~~~~~~~~^~~~~~~~
> pktrelay.c:298:20: warning: pointer targets in passing argument 1 of ‘port_htons’ differ in signedness [-Wpointer-sign]
> 298 | port_htons(dst_ports);
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:428:31: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 428 | void port_htons(unsigned int *db_ports);
> | ~~~~~~~~~~~~~~^~~~~~~~
> pktrelay.c: In function ‘relay_mod_item’:
> pktrelay.c:334:49: warning: pointer targets in passing argument 4 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 334 | &src_ip, &src_mask, src_ports,
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:371:55: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 371 | unsigned int *ret_mask, unsigned int *ret_ports,
> | ~~~~~~~~~~~~~~^~~~~~~~~
> pktrelay.c:335:59: warning: pointer targets in passing argument 7 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 335 | ri->src_addr, ri->src_mask, ri->src_ports) < 0)
> | ~~^~~~~~~~~~~
> | |
> | unsigned int *
> hunt.h:372:66: note: expected ‘int *’ but argument is of type ‘unsigned int *’
> 372 | unsigned int dfl_ip, unsigned int dfl_mask, int *dfl_ports);
> | ~~~~~^~~~~~~~~
> pktrelay.c:338:49: warning: pointer targets in passing argument 4 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 338 | &dst_ip, &dst_mask, dst_ports,
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:371:55: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 371 | unsigned int *ret_mask, unsigned int *ret_ports,
> | ~~~~~~~~~~~~~~^~~~~~~~~
> pktrelay.c:339:59: warning: pointer targets in passing argument 7 of ‘menu_choose_host_mask_ports_dfl’ differ in signedness [-Wpointer-sign]
> 339 | ri->dst_addr, ri->dst_mask, ri->dst_ports) < 0)
> | ~~^~~~~~~~~~~
> | |
> | unsigned int *
> hunt.h:372:66: note: expected ‘int *’ but argument is of type ‘unsigned int *’
> 372 | unsigned int dfl_ip, unsigned int dfl_mask, int *dfl_ports);
> | ~~~~~^~~~~~~~~
> pktrelay.c:367:20: warning: pointer targets in passing argument 1 of ‘port_htons’ differ in signedness [-Wpointer-sign]
> 367 | port_htons(src_ports);
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:428:31: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 428 | void port_htons(unsigned int *db_ports);
> | ~~~~~~~~~~~~~~^~~~~~~~
> pktrelay.c:368:20: warning: pointer targets in passing argument 1 of ‘port_htons’ differ in signedness [-Wpointer-sign]
> 368 | port_htons(dst_ports);
> | ^~~~~~~~~
> | |
> | int *
> hunt.h:428:31: note: expected ‘unsigned int *’ but argument is of type ‘int *’
> 428 | void port_htons(unsigned int *db_ports);
> | ~~~~~~~~~~~~~~^~~~~~~~
> pktrelay.c: In function ‘relay_item_print’:
> pktrelay.c:225:30: warning: ‘%s’ directive writing up to 511 bytes into a region of size 508 [-Wformat-overflow=]
> 225 | sprintf(buf, "%s/%d [%s]", host_lookup(ri->src_addr, hl_mode),
> | ^~
> 226 | count_mask(ri->src_mask), buf_src_ports);
> | ~~~~~~~~~~~~~
> In file included from /usr/include/stdio.h:906,
> from pktrelay.c:12:
> In function ‘sprintf’,
> inlined from ‘relay_item_print’ at pktrelay.c:225:2:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output 6 or more bytes (assuming 517) into a destination of size 512
> 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 31 | __glibc_objsize (__s), __fmt,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 32 | __va_arg_pack ());
> | ~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
> make[2]: *** [<builtin>: timer.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/hunt_1.5-8_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
Reply to: