Bug#1066511: photopc: FTBFS: fnames.c:118:21: error: implicit declaration of function ‘strlen’ [-Werror=implicit-function-declaration]
Source: photopc
Version: 3.07-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./dos -I./win32 -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 -Wall -c -o eph_iob.o eph_iob.c
> filetime.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: filetime.c,v 1.7 1999/12/11 14:10:15 crosser Exp $";
> | ^~~~~
> fnames.c: In function ‘makename’:
> fnames.c:118:21: error: implicit declaration of function ‘strlen’ [-Werror=implicit-function-declaration]
> 118 | (filenm[strlen(filenm)-1] == '\\') ||
> | ^~~~~~
> fnames.c:69:1: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> 68 | #include "ctimez.h"
> +++ |+#include <string.h>
> 69 |
> fnames.c:118:21: warning: incompatible implicit declaration of built-in function ‘strlen’ [-Wbuiltin-declaration-mismatch]
> 118 | (filenm[strlen(filenm)-1] == '\\') ||
> | ^~~~~~
> fnames.c:118:21: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> fnames.c:128:21: warning: incompatible implicit declaration of built-in function ‘strlen’ [-Wbuiltin-declaration-mismatch]
> 128 | if (strlen(nameformat) == 1) {
> | ^~~~~~
> fnames.c:128:21: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> fnames.c:282:22: warning: incompatible implicit declaration of built-in function ‘strlen’ [-Wbuiltin-declaration-mismatch]
> 282 | for (p=fname+strlen(filenm);*p;p++) if (*p == '/') {
> | ^~~~~~
> fnames.c:282:22: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
> fnames.c: At top level:
> fnames.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: fnames.c,v 1.7 2001/01/11 06:49:57 crosser Exp $";
> | ^~~~~
> exifscan.c: In function ‘exifscan’:
> exifscan.c:64:50: warning: pointer targets in passing argument 1 of ‘strcasecmp’ differ in signedness [-Wpointer-sign]
> 64 | if ((*p == 0xe1) && (strcasecmp(p+3,"Exif")==0)) {
> | ~^~
> | |
> | unsigned char *
> In file included from /usr/include/string.h:462,
> from exifscan.c:48:
> /usr/include/strings.h:116:36: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
> 116 | extern int strcasecmp (const char *__s1, const char *__s2)
> | ~~~~~~~~~~~~^~~~
> exifscan.c: In function ‘exifstr’:
> exifscan.c:225:41: warning: pointer targets in returning ‘char *’ from a function with return type ‘unsigned char *’ differ in signedness [-Wpointer-sign]
> 225 | if (buf == NULL) return "<no memory>";
> | ^~~~~~~~~~~~~
> exifscan.c:226:25: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
> 226 | sprintf(buf,"\"%s\"",data+offset);
> | ^~~
> | |
> | unsigned char *
> In file included from /usr/include/features.h:490,
> from /usr/include/x86_64-linux-gnu/sys/types.h:25,
> from exifscan.c:44:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
> 28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
> | ^~~~~
> exifscan.c:236:41: warning: pointer targets in returning ‘char *’ from a function with return type ‘unsigned char *’ differ in signedness [-Wpointer-sign]
> 236 | if (buf == NULL) return "<no memory>";
> | ^~~~~~~~~~~~~
> exifscan.c:240:40: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
> 240 | if (count > 1) sprintf(buf,"(");
> | ^~~
> | |
> | unsigned char *
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
> 28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
> | ^~~~~
> exifscan.c:243:52: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
> 243 | sprintf(buf+strlen(buf),"%s%d/%d",
> | ^~~
> | |
> | unsigned char *
> /usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
> 407 | extern size_t strlen (const char *__s)
> | ~~~~~~~~~~~~^~~
> eph_iob.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: eph_iob.c,v 2.7 1999/12/11 14:10:15 crosser Exp $";
> | ^~~~~
> exifscan.c:243:44: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
> 243 | sprintf(buf+strlen(buf),"%s%d/%d",
> | ~~~^~~~~~~~~~~~
> | |
> | unsigned char *
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
> 28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
> | ^~~~~
> exifscan.c:248:52: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
> 248 | sprintf(buf+strlen(buf),"%s%d",
> | ^~~
> | |
> | unsigned char *
> /usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
> 407 | extern size_t strlen (const char *__s)
> | ~~~~~~~~~~~~^~~
> exifscan.c:248:44: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
> 248 | sprintf(buf+strlen(buf),"%s%d",
> | ~~~^~~~~~~~~~~~
> | |
> | unsigned char *
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
> 28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
> | ^~~~~
> exifscan.c:253:51: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
> 253 | if (count > 1) sprintf(buf+strlen(buf),")");
> | ^~~
> | |
> | unsigned char *
> /usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
> 407 | extern size_t strlen (const char *__s)
> | ~~~~~~~~~~~~^~~
> exifscan.c:253:43: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
> 253 | if (count > 1) sprintf(buf+strlen(buf),")");
> | ~~~^~~~~~~~~~~~
> | |
> | unsigned char *
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
> 28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
> | ^~~~~
> exifscan.c: At top level:
> exifscan.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: exifscan.c,v 1.5 2000/05/09 13:20:54 crosser Exp $";
> | ^~~~~
> a12scan.c: In function ‘a12search’:
> a12scan.c:114:29: warning: pointer targets in passing argument 1 of ‘strncmp’ differ in signedness [-Wpointer-sign]
> 114 | if (strncmp(p,key,strlen(key)) == 0) break;
> | ^
> | |
> | unsigned char *
> In file included from a12scan.c:70:
> /usr/include/string.h:159:33: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
> 159 | extern int strncmp (const char *__s1, const char *__s2, size_t __n)
> | ~~~~~~~~~~~~^~~~
> a12scan.c: At top level:
> a12scan.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: a12scan.c,v 1.13 1999/08/01 21:36:54 crosser Exp $";
> | ^~~~~
> ctimez.c: In function ‘ctimetz’:
> ctimez.c:96:17: error: implicit declaration of function ‘strcpy’ [-Werror=implicit-function-declaration]
> 96 | strcpy(tmbuf,"N/A");
> | ^~~~~~
> ctimez.c:63:1: note: include ‘<string.h>’ or provide a declaration of ‘strcpy’
> 62 | #include "ctimez.h"
> +++ |+#include <string.h>
> 63 |
> ctimez.c:96:17: warning: incompatible implicit declaration of built-in function ‘strcpy’ [-Wbuiltin-declaration-mismatch]
> 96 | strcpy(tmbuf,"N/A");
> | ^~~~~~
> ctimez.c:96:17: note: include ‘<string.h>’ or provide a declaration of ‘strcpy’
> ctimez.c: At top level:
> ctimez.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: ctimez.c,v 1.7 1999/11/09 18:55:03 crosser Exp $";
> | ^~~~~
> eph_read.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: eph_read.c,v 2.11 2000/07/14 06:35:39 crosser Exp $";
> | ^~~~~
> gcc -DHAVE_CONFIG_H -I. -I./dos -I./win32 -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 -Wall -c -o eph_err.o eph_err.c
> photopc.c: In function ‘llistfiles’:
> photopc.c:1619:21: warning: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Wpointer-sign]
> 1619 | ress=buffer;
> | ^
> photopc.c:1622:18: warning: pointer targets in assignment from ‘unsigned char *’ to ‘char *’ differ in signedness [-Wpointer-sign]
> 1622 | p=a12search("Resolution",ress,ressize);
> | ^
> photopc.c:1629:18: warning: pointer targets in assignment from ‘unsigned char *’ to ‘char *’ differ in signedness [-Wpointer-sign]
> 1629 | p=a12search("Flash",ress,ressize);
> | ^
> photopc.c:1636:18: warning: pointer targets in assignment from ‘unsigned char *’ to ‘char *’ differ in signedness [-Wpointer-sign]
> 1636 | p=a12search("Shutter",ress,ressize);
> | ^
> photopc.c:1643:18: warning: pointer targets in assignment from ‘unsigned char *’ to ‘char *’ differ in signedness [-Wpointer-sign]
> 1643 | p=a12search("TimeDate",ress,ressize);
> | ^
> photopc.c: In function ‘retrfile’:
> photopc.c:1873:20: warning: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Wpointer-sign]
> 1873 | res=buffer;
> | ^
> photopc.c:1876:18: warning: pointer targets in assignment from ‘unsigned char *’ to ‘char *’ differ in signedness [-Wpointer-sign]
> 1876 | p=a12search("TimeDate",res,ressize);
> | ^
> photopc.c:1916:25: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
> 1916 | if (fname) free(fname); fname=NULL;
> | ^~
> photopc.c:1916:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
> 1916 | if (fname) free(fname); fname=NULL;
> | ^~~~~
> gcc -DHAVE_CONFIG_H -I. -I./dos -I./win32 -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 -Wall -c -o eph_cmd.o eph_cmd.c
> cc1: some warnings being treated as errors
> eph_err.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: eph_err.c,v 2.6 1999/08/01 21:36:54 crosser Exp $";
> | ^~~~~
> photopc.c: In function ‘main’:
> photopc.c:2443:23: warning: ignoring return value of ‘seteuid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 2443 | (void)seteuid(getuid());
> | ^~~~~~~~~~~~~~~~~
> photopc.c: At top level:
> photopc.c:2:14: warning: ‘rcsid’ defined but not used [-Wunused-variable]
> 2 | static char *rcsid="$Id: photopc.c,v 2.87 2003/03/14 15:25:36 crosser Exp $";
> | ^~~~~
> gcc -DHAVE_CONFIG_H -I. -I./dos -I./win32 -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 -Wall -c -o eph_io.o eph_io.c
> make[2]: *** [Makefile:599: ctimez.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/photopc_3.07-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: