[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: