[Debian-med-packaging] Bug#1066478: readseq: FTBFS: readseq.c:801:5: error: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Werror=implicit-function-declaration]
Lucas Nussbaum
lucas at debian.org
Wed Mar 13 11:56:16 GMT 2024
Source: readseq
Version: 1-14
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at 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 -o readseq -I/usr/include/ncbi -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -DNCBI -I/usr/include/ncbi -DARB readseq.c ureadseq.c ureadasn.c -lncbi -lncbiobj -lncbicdr -lncbiacc -lncbitool -lncbimmdb -lncbiid1 -lnetcli -lm -Wl,-z,relro -Wl,-z,now
> readseq.c: In function ‘formatstr’:
> readseq.c:267:41: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 267 | case kASNseqset : return formats[kASN1-1];
> | ~~~~~~~^~~~~~~~~
> readseq.c:269:45: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 269 | case kPhylipSequential: return formats[kPhylip-1];
> | ~~~~~~~^~~~~~~~~~~
> readseq.c:273:22: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 273 | else return formats[format-1];
> | ~~~~~~~^~~~~~~~~~
> readseq.c: In function ‘Nlm_Main’:
> readseq.c:801:5: error: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Werror=implicit-function-declaration]
> 801 | gets(oname= onamestore);
> | ^~~~
> | fgets
> readseq.c:936:33: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 936 | sprintf( stemp,"%s_%d", oname, whichSeq);
> | ~^ ~~~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:938:48: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 938 | fprintf( stderr,"Writing sequence %d to file %s\n", whichSeq, stemp);
> | ~^ ~~~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:980:39: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 980 | fprintf( stderr, "Sequence %d, length= %d, checksum= %X, format= %s, id= %s\n",
> | ~^
> | |
> | int
> | %ld
> 981 | whichSeq, seqlen, checksum, formatstr(format), seqidptr);
> | ~~~~~~~~
> | |
> | long int
> readseq.c:980:51: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 980 | fprintf( stderr, "Sequence %d, length= %d, checksum= %X, format= %s, id= %s\n",
> | ~^
> | |
> | int
> | %ld
> 981 | whichSeq, seqlen, checksum, formatstr(format), seqidptr);
> | ~~~~~~
> | |
> | long int
> readseq.c:980:65: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 980 | fprintf( stderr, "Sequence %d, length= %d, checksum= %X, format= %s, id= %s\n",
> | ~^
> | |
> | unsigned int
> | %lX
> 981 | whichSeq, seqlen, checksum, formatstr(format), seqidptr);
> | ~~~~~~~~
> | |
> | long unsigned int
> readseq.c:998:53: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 998 | if (phylvers >= 4) fprintf(foo," %d %d\n", i, seqlen);
> | ~^ ~
> | | |
> | int long int
> | %ld
> readseq.c:998:56: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 998 | if (phylvers >= 4) fprintf(foo," %d %d\n", i, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:999:39: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 999 | else fprintf(foo," %d %d YF\n", i, seqlen);
> | ~^ ~
> | | |
> | int long int
> | %ld
> readseq.c:999:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 999 | else fprintf(foo," %d %d YF\n", i, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:1117:31: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1117 | fprintf(foo,"\n %s MSF: %d Type: N %s Check: %d ..\n\n", /* GSt + RL */
> | ~^
> | |
> | int
> | %ld
> 1118 | cp, seqlen, timestr, checkall);
> | ~~~~~~
> | |
> | long int
> readseq.c:1117:55: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘long unsigned int’ [-Wformat=]
> 1117 | fprintf(foo,"\n %s MSF: %d Type: N %s Check: %d ..\n\n", /* GSt + RL */
> | ~^
> | |
> | int
> | %ld
> 1118 | cp, seqlen, timestr, checkall);
> | ~~~~~~~~
> | |
> | long unsigned int
> readseq.c:1133:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1133 | if (phylvers >= 4) fprintf(foo," %d %d\n", seqout, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:1134:28: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1134 | else fprintf(foo," %d %d YF\n", seqout, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> readseq.c:1158:49: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1158 | fprintf(foo," dimensions ntax=%d nchar=%d;\n", seqout, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> cc1: some warnings being treated as errors
> ureadseq.c: In function ‘seqFileFormatFp’:
> ureadseq.c:1535:19: warning: format ‘%d’ expects argument of type ‘int *’, but argument 3 has type ‘long int *’ [-Wformat=]
> 1535 | sscanf( sp, "%d%d", &nspp, &nlen);
> | ~^ ~~~~~
> | | |
> | int * long int *
> | %ld
> ureadseq.c:1535:21: warning: format ‘%d’ expects argument of type ‘int *’, but argument 4 has type ‘long int *’ [-Wformat=]
> 1535 | sscanf( sp, "%d%d", &nspp, &nlen);
> | ~^ ~~~~~
> | | |
> | int * long int *
> | %ld
> ureadseq.c: In function ‘writeSeq’:
> ureadseq.c:1784:22: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 1784 | sprintf(numform, "%d", seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1813:43: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1813 | fprintf(outf,"LOCUS %s %d bp\n", idword, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1814:38: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1814 | fprintf(outf,"DEFINITION %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1814:48: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1814 | fprintf(outf,"DEFINITION %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1828:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1828 | fprintf(outf,"TITLE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1828:52: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1828 | fprintf(outf,"TITLE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1838:53: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 1838 | for (j= 5; j<=width; j += 5) fprintf(outf,"%10d",j);
> | ~~~^ ~
> | | |
> | | long int
> | int
> | %10ld
> ureadseq.c:1848:26: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1848 | fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1848:36: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1848 | fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1857:31: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1857 | fprintf(outf,"DE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1857:41: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1857 | fprintf(outf,"DE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1858:37: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 1858 | fprintf(outf,"SQ %d BP\n", seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1869:38: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1869 | fprintf(outf," %s Length: %d (today) Check: %d ..\n", idword, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1869:58: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1869 | fprintf(outf," %s Length: %d (today) Check: %d ..\n", idword, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | int long unsigned int
> | %ld
> ureadseq.c:1878:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1878 | fprintf(outf,"; DNA sequence %s, %d bases, %X checksum.\n;\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1878:52: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1878 | fprintf(outf,"; DNA sequence %s, %d bases, %X checksum.\n;\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1884:26: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1884 | fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1884:36: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1884 | fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1915:53: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1915 | fprintf(outf," repr raw, mol %s, length %d, topology linear,\n", cp, seqlen);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1937:41: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1937 | fprintf(outf,"[Name: %-16s Len:%6d Check: %8X]\n", idword, seqlen, checksum);
> | ~~^ ~~~~~~
> | | |
> | int long int
> | %6ld
> ureadseq.c:1937:53: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1937 | fprintf(outf,"[Name: %-16s Len:%6d Check: %8X]\n", idword, seqlen, checksum);
> | ~~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %8lX
> ureadseq.c:1954:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1954 | fprintf(outf,"Name: %-16s Len:%6d Check: %8X\n", idword, seqlen, checksum);
> | ~~^ ~~~~~~
> | | |
> | int long int
> | %6ld
> ureadseq.c:1954:54: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1954 | fprintf(outf,"Name: %-16s Len:%6d Check: %8X\n", idword, seqlen, checksum);
> | ~~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %8lX
> ureadseq.c:1960:40: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1960 | fprintf(outf," Name: %-16s Len:%6d Check: %5d Weight: 1.00\n",
> | ~~^
> | |
> | int
> | %6ld
> 1961 | idword, seqlen, checksum);
> | ~~~~~~
> | |
> | long int
> ureadseq.c:1960:52: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1960 | fprintf(outf," Name: %-16s Len:%6d Check: %5d Weight: 1.00\n",
> | ~~^
> | |
> | int
> | %5ld
> 1961 | idword, seqlen, checksum);
> | ~~~~~~~~
> | |
> | long unsigned int
> ureadseq.c:1972:27: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 1972 | fprintf(outf,";%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:1972:37: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 1972 | fprintf(outf,";%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:1979:25: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 1979 | fprintf(outf,"%4d %-60s\n",seqlen,seqname);
> | ~~^ ~~~~~~
> | | |
> | int long int
> | %4ld
> ureadseq.c:2002:27: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Wformat=]
> 2002 | fprintf(outf,">%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~
> | | |
> | int long int
> | %ld
> ureadseq.c:2002:37: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
> 2002 | fprintf(outf,">%s, %d bases, %X checksum.\n", seqname, seqlen, checksum);
> | ~^ ~~~~~~~~
> | | |
> | unsigned int long unsigned int
> | %lX
> ureadseq.c:2043:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
> 2043 | if (numline==1) fprintf(outf,"%-9d ",i+1);
> | ~~~^ ~~~
> | | |
> | int long int
> | %-9ld
> ureadseq.c: In function ‘readPAUPinterleaved’:
> ureadseq.c:213:22: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 246 and 251 [-Wformat-overflow=]
> 213 | sprintf(si, " %d) %s\n", V->nseq, s);
> | ^~
> In function ‘addinfo’,
> inlined from ‘readPAUPinterleaved’ at ureadseq.c:813:13:
> ureadseq.c:213:3: note: ‘sprintf’ output between 7 and 267 bytes into a destination of size 256
> 213 | sprintf(si, " %d) %s\n", V->nseq, s);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ureadseq.c: In function ‘writeSeq’:
> ureadseq.c:2007:45: warning: ‘%d’ directive writing between 1 and 6 bytes into a region of size between 2 and 7 [-Wformat-overflow=]
> 2007 | if (*nameform==0) sprintf(nameform, "%%%d.%ds ",namewidth,namewidth);
> | ^~
> ureadseq.c:2007:39: note: directive argument in the range [-32768, 32767]
> 2007 | if (*nameform==0) sprintf(nameform, "%%%d.%ds ",namewidth,namewidth);
> | ^~~~~~~~~~~
> ureadseq.c:2007:21: note: ‘sprintf’ output between 7 and 17 bytes into a destination of size 10
> 2007 | if (*nameform==0) sprintf(nameform, "%%%d.%ds ",namewidth,namewidth);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ureadasn.c: In function ‘listASNSeqs’:
> ureadasn.c:189:24: warning: passing argument 1 of ‘AsnIoOpen’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 189 | if ((aip = AsnIoOpen(filename, inIsBinary?"rb":"r")) == NULL) goto errxit;
> | ^~~~~~~~
> In file included from /usr/include/ncbi/ncbi.h:57,
> from ureadasn.c:13:
> /usr/include/ncbi/asn.h:384:54: note: expected ‘Nlm_CharPtr’ {aka ‘char *’} but argument is of type ‘const char *’
> 384 | NLM_EXTERN AsnIoPtr LIBCALL AsnIoOpen PROTO((CharPtr file_name, CharPtr mode));
> /usr/include/ncbi/ncbilcl.h:192:18: note: in definition of macro ‘PROTO’
> 192 | #define PROTO(x) x /* Prototypes are acceptable */
> | ^
> ureadasn.c: In function ‘readASNSeq’:
> ureadasn.c:261:24: warning: passing argument 1 of ‘AsnIoOpen’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 261 | if ((aip = AsnIoOpen(filename, inIsBinary?"rb":"r")) == NULL) goto errxit;
> | ^~~~~~~~
> /usr/include/ncbi/asn.h:384:54: note: expected ‘Nlm_CharPtr’ {aka ‘char *’} but argument is of type ‘const char *’
> 384 | NLM_EXTERN AsnIoPtr LIBCALL AsnIoOpen PROTO((CharPtr file_name, CharPtr mode));
> /usr/include/ncbi/ncbilcl.h:192:18: note: in definition of macro ‘PROTO’
> 192 | #define PROTO(x) x /* Prototypes are acceptable */
> | ^
> ureadasn.c:262:31: warning: ‘fgets’ writing 255 bytes into a region of size 200 overflows the destination [-Wstringop-overflow=]
> 262 | for (i=0; i<skiplines; i++) fgets( stemp, 255, aip->fp); /* this may mess up asn routines... */
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> ureadasn.c:241:15: note: destination object ‘stemp’ of size 200
> 241 | char *seq, stemp[200];
> | ^~~~~
> In file included from ureadasn.c:8:
> /usr/include/stdio.h:592:14: note: in a call to function ‘fgets’ declared with attribute ‘access (write_only, 1, 2)’
> 592 | extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
> | ^~~~~
> make[1]: *** [Makefile:51: build] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/readseq_1-14_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.
More information about the Debian-med-packaging
mailing list