Bug#1066509: dmitry: FTBFS: src/file.c:4:20: error: implicit declaration of function ‘strlen’ [-Werror=implicit-function-declaration]
Source: dmitry
Version: 1.3a-2
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):
> gcc -DHAVE_CONFIG_H -I. -I./src/includes -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fcommon -c -o portscan.o `test -f 'src/portscan.c' || echo './'`src/portscan.c
> src/file.c: In function ‘file_prep’:
> src/file.c:4:20: error: implicit declaration of function ‘strlen’ [-Werror=implicit-function-declaration]
> 4 | outputfile[strlen(outputfile)] = '\0';
> | ^~~~~~
> src/file.c:2:1: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> 1 | #include "includes/file.h"
> +++ |+#include <string.h>
> 2 | int file_prep()
> src/file.c:4:20: warning: incompatible implicit declaration of built-in function ‘strlen’ [-Wbuiltin-declaration-mismatch]
> 4 | outputfile[strlen(outputfile)] = '\0';
> | ^~~~~~
> src/file.c:4:20: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> src/file.c:7:17: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration]
> 7 | exit(1);
> | ^~~~
> src/file.c:2:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> 1 | #include "includes/file.h"
> +++ |+#include <stdlib.h>
> 2 | int file_prep()
> src/file.c:7:17: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 7 | exit(1);
> | ^~~~
> src/file.c:7:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> src/file.c: In function ‘file_open’:
> src/file.c:18:17: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 18 | exit(1);
> | ^~~~
> src/file.c:18:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> src/file.c: In function ‘file_close’:
> src/file.c:27:17: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 27 | exit(1);
> | ^~~~
> src/file.c:27:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> src/tcp_sock.c: In function ‘readData’:
> src/tcp_sock.c:74:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 74 | read((int) tcp_sock, (char *) readbuff, (int) readsize);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> src/tcp_sock.c: In function ‘sendData’:
> src/tcp_sock.c:82:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 82 | write((int) tcp_sock, (char *) sendbuff, (int) sendsize);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> src/dmitry.c: In function ‘main’:
> src/dmitry.c:37:17: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration]
> 37 | exit(1);
> | ^~~~
> src/dmitry.c:16:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> 15 | #include <arpa/inet.h>
> +++ |+#include <stdlib.h>
> 16 |
> src/dmitry.c:37:17: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 37 | exit(1);
> | ^~~~
> src/dmitry.c:37:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> src/dmitry.c:67:41: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 67 | exit(0);
> | ^~~~
> src/dmitry.c:67:41: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> src/dmitry.c:103:33: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> 103 | exit(1);
> | ^~~~
> src/dmitry.c:103:33: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> cc1: some warnings being treated as errors
> make[1]: *** [Makefile:546: file.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/dmitry_1.3a-2_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: