[Debian-med-packaging] Bug#1066324: lucy: FTBFS: poly.c:22:9: error: implicit declaration of function ‘abi_code’ [-Werror=implicit-function-declaration]

Lucas Nussbaum lucas at debian.org
Wed Mar 13 11:42:13 GMT 2024


Source: lucy
Version: 1.20-3
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):
> cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o poly.o poly.c
> done!
> qual_trim.c:10:1: warning: "/*" within comment [-Wcomment]
>    10 | /* qual_trim.c - Quality trimming algorithm which determines a "clean"
>       |  
> qual_trim.c:11:1: warning: "/*" within comment [-Wcomment]
>    11 | /*    range for a sequence based on its phred quality values.
>       |  
> qual_trim.c:12:1: warning: "/*" within comment [-Wcomment]
>    12 | /*
>       |  
> qual_trim.c:13:1: warning: "/*" within comment [-Wcomment]
>    13 | /* Written by Michael Holmes, 4/13/99.
>       |  
> qual_trim.c:14:1: warning: "/*" within comment [-Wcomment]
>    14 | /*
>       |  
> qual_trim.c:15:1: warning: "/*" within comment [-Wcomment]
>    15 | /* 1/31/2000, Michael Holmes -- Added default_windows().
>       |  
> qual_trim.c:16:1: warning: "/*" within comment [-Wcomment]
>    16 | /* 2/15/2000, Michael Holmes -- Added bracket_clean_range() and
>       |  
> qual_trim.c:17:1: warning: "/*" within comment [-Wcomment]
>    17 | /*    set_bracket().
>       |  
> qual_trim.c:18:1: warning: "/*" within comment [-Wcomment]
>    18 | /* 2/18/2000, Michael Holmes -- Minor change to test-mode output only.
>       |  
> qual_trim.c:19:1: warning: "/*" within comment [-Wcomment]
>    19 | /*
>       |  
> qual_trim.c:20:1: warning: "/*" within comment [-Wcomment]
>    20 | /* Copyright (C) 1999, 2000, The Institute for Genomic Research.  All rights
>       |  
> qual_trim.c:21:1: warning: "/*" within comment [-Wcomment]
>    21 | /* reserved.
>       |  
> qual_trim.c:22:1: warning: "/*" within comment [-Wcomment]
>    22 | /*
>       |  
> qual_trim.c:23:1: warning: "/*" within comment [-Wcomment]
>    23 | /* Note: phred quality values are based on the log (base 10) of the
>       |  
> qual_trim.c:24:1: warning: "/*" within comment [-Wcomment]
>    24 | /* probability that the corresponding base call is in error:
>       |  
> qual_trim.c:25:1: warning: "/*" within comment [-Wcomment]
>    25 | /*
>       |  
> qual_trim.c:26:1: warning: "/*" within comment [-Wcomment]
>    26 | /*    Q = -10 log(P_error)
>       |  
> qual_trim.c:27:1: warning: "/*" within comment [-Wcomment]
>    27 | /*
>       |  
> qual_trim.c:28:1: warning: "/*" within comment [-Wcomment]
>    28 | /* Thanks to Granger Sutton for valuable suggestions.
>       |  
> qual_trim.c:29:1: warning: "/*" within comment [-Wcomment]
>    29 | /*
>       |  
> qual_trim.c:30:1: warning: "/*" within comment [-Wcomment]
>    30 | /* The main functions of interest to external code (such as lucy) are
>       |  
> qual_trim.c:31:1: warning: "/*" within comment [-Wcomment]
>    31 | /* default_windows() and quality_trim().  The grim() function emulates the
>       |  
> qual_trim.c:32:1: warning: "/*" within comment [-Wcomment]
>    32 | /* interface that was used by the old quality trimmimg algorithm (grim),
>       |  
> qual_trim.c:33:1: warning: "/*" within comment [-Wcomment]
>    33 | /* but it is not called by lucy.  The main() function is compiled only if
>       |  
> qual_trim.c:34:1: warning: "/*" within comment [-Wcomment]
>    34 | /* TEST_THIS_CODE is #defined.
>       |  
> qual_trim.c:35:1: warning: "/*" within comment [-Wcomment]
>    35 | /*
>       |  
> qual_trim.c:36:1: warning: "/*" within comment [-Wcomment]
>    36 | /* The calling hierarchy is:
>       |  
> qual_trim.c:37:1: warning: "/*" within comment [-Wcomment]
>    37 | /*
>       |  
> qual_trim.c:38:1: warning: "/*" within comment [-Wcomment]
>    38 | /* main()
>       |  
> qual_trim.c:39:1: warning: "/*" within comment [-Wcomment]
>    39 | /*     grim()
>       |  
> qual_trim.c:40:1: warning: "/*" within comment [-Wcomment]
>    40 | /*         default_windows()
>       |  
> qual_trim.c:41:1: warning: "/*" within comment [-Wcomment]
>    41 | /*         quality_trim()
>       |  
> qual_trim.c:42:1: warning: "/*" within comment [-Wcomment]
>    42 | /*             bracket_clean_range()
>       |  
> qual_trim.c:43:1: warning: "/*" within comment [-Wcomment]
>    43 | /*             multi_window_trim()
>       |  
> qual_trim.c:44:1: warning: "/*" within comment [-Wcomment]
>    44 | /*                 window_trim()
>       |  
> qual_trim.c:45:1: warning: "/*" within comment [-Wcomment]
>    45 | /*                 multi_window_trim()    [recursive call]
>       |  
> qual_trim.c:46:1: warning: "/*" within comment [-Wcomment]
>    46 | /*                 average_error_trim()
>       |  
> qual_trim.c:47:1: warning: "/*" within comment [-Wcomment]
>    47 | /*
>       |  
> qual_trim.c:48:1: warning: "/*" within comment [-Wcomment]
>    48 | /**************************************************************************/
>       |  
> poly.c: In function ‘poly_at_left’:
> poly.c:22:9: error: implicit declaration of function ‘abi_code’ [-Werror=implicit-function-declaration]
>    22 |     if (abi_code(*seq)==T) {
>       |         ^~~~~~~~
> abi.c:24:8: warning: type defaults to ‘int’ in declaration of ‘condition’ [-Wimplicit-int]
>    24 | static condition[]={
>       |        ^~~~~~~~~
> abi.c: In function ‘abi_code’:
> abi.c:70:15: error: implicit declaration of function ‘random’ [-Werror=implicit-function-declaration]
>    70 |   case 5: tmp=random()%2 ? 2 : 0; break;
>       |               ^~~~~~
> splice.c: In function ‘splice_align_left’:
> splice.c:53:12: warning: type defaults to ‘int’ in declaration of ‘left’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |            ^~~~
> splice.c:53:18: warning: type defaults to ‘int’ in declaration of ‘top’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |                  ^~~
> splice.c:53:23: warning: type defaults to ‘int’ in declaration of ‘direc’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |                       ^~~~~
> splice.c:53:30: warning: type defaults to ‘int’ in declaration of ‘score’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |                              ^~~~~
> splice.c:53:37: warning: type defaults to ‘int’ in declaration of ‘i’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |                                     ^
> abi.c:82:5: error: implicit declaration of function ‘giveup’ [-Werror=implicit-function-declaration]
>    82 |     giveup("how can other cases happen in tag_code?");
>       |     ^~~~~~
> splice.c:53:40: warning: type defaults to ‘int’ in declaration of ‘j’ [-Wimplicit-int]
>    53 |   register left, top, direc, score, i, j;
>       |                                        ^
> splice.c:68:32: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    68 |     Score(0,0)=max_score=match[*a][*b];
>       |                                ^~
> splice.c:68:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    68 |     Score(0,0)=max_score=match[*a][*b];
>       |                                    ^~
> splice.c:75:20: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    75 |       score=match[a[i]][*b];
>       |                   ~^~~
> splice.c:75:25: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    75 |       score=match[a[i]][*b];
>       |                         ^~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:76:38: note: in expansion of macro ‘Direc’
>    76 |       left=Score(i-1,0)+left_penalty[Direc(i-1,0)];
>       |                                      ^~~~~
> splice.c:90:19: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    90 |       score=match[*a][b[j]];
>       |                   ^~
> splice.c:90:24: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    90 |       score=match[*a][b[j]];
>       |                       ~^~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:91:36: note: in expansion of macro ‘Direc’
>    91 |       top=Score(0,j-1)+top_penalty[Direc(0,j-1)];
>       |                                    ^~~~~
> splice.c:107:25: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   107 |           score+=match[a[i]][b[j]];
>       |                        ~^~~
> splice.c:107:31: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   107 |           score+=match[a[i]][b[j]];
>       |                              ~^~~
> splice.c:110:24: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   110 |           score=match[a[i]][b[j]];
>       |                       ~^~~
> splice.c:110:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   110 |           score=match[a[i]][b[j]];
>       |                             ~^~~
> abi.c: In function ‘abi_align’:
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:113:38: note: in expansion of macro ‘Direc’
>   113 |         top=Score(i,j-1)+top_penalty[Direc(i,j-1)];
>       |                                      ^~~~~
> abi.c:195:18: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   195 |     if (badness[a[i]][b[j]]) {
>       |                 ~^~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:114:40: note: in expansion of macro ‘Direc’
>   114 |         left=Score(i-1,j)+left_penalty[Direc(i-1,j)];
>       |                                        ^~~~~
> abi.c:195:24: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   195 |     if (badness[a[i]][b[j]]) {
>       |                       ~^~~
> splice.c:139:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
>   139 |     while (direc=Direc(i,j))
>       |            ^~~~~
> abi.c:221:18: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   221 |     if (badness[a[i]][b[j]]) {
>       |                 ~^~~
> abi.c:221:24: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   221 |     if (badness[a[i]][b[j]]) {
>       |                       ~^~~
> splice.c: In function ‘splice_align_right’:
> splice.c:176:12: warning: type defaults to ‘int’ in declaration of ‘left’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |            ^~~~
> abi.c:226:46: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   226 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                             ~^~~
> splice.c:176:18: warning: type defaults to ‘int’ in declaration of ‘top’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |                  ^~~
> splice.c:176:23: warning: type defaults to ‘int’ in declaration of ‘direc’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |                       ^~~~~
> abi.c:226:52: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   226 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                                   ~^~~
> splice.c:176:30: warning: type defaults to ‘int’ in declaration of ‘score’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |                              ^~~~~
> splice.c:176:37: warning: type defaults to ‘int’ in declaration of ‘i’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |                                     ^
> splice.c:176:40: warning: type defaults to ‘int’ in declaration of ‘j’ [-Wimplicit-int]
>   176 |   register left, top, direc, score, i, j;
>       |                                        ^
> abi.c:233:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   233 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> splice.c:189:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   189 |   Score(0,0)=max_score=match[*a][*b];
>       |                              ^~
> abi.c:233:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   233 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> splice.c:189:34: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   189 |   Score(0,0)=max_score=match[*a][*b];
>       |                                  ^~
> splice.c:196:18: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   196 |     score=match[a[i]][*b];
>       |                 ~^~~
> vector.c: In function ‘construct_vector_tags’:
> splice.c:196:23: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   196 |     score=match[a[i]][*b];
>       |                       ^~
> vector.c:85:34: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    85 |       accr|=tag_code(rev_code[seq[len-k%len-1]]);
>       |                               ~~~^~~~~~~~~~~~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:197:36: note: in expansion of macro ‘Direc’
>   197 |     left=Score(i-1,0)+left_penalty[Direc(i-1,0)];
>       |                                    ^~~~~
> abi.c:245:46: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   245 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                             ~^~~
> abi.c:245:52: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   245 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                                   ~^~~
> splice.c:211:17: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   211 |     score=match[*a][b[j]];
>       |                 ^~
> splice.c:211:22: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   211 |     score=match[*a][b[j]];
>       |                     ~^~~
> abi.c:252:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   252 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:212:34: note: in expansion of macro ‘Direc’
>   212 |     top=Score(0,j-1)+top_penalty[Direc(0,j-1)];
>       |                                  ^~~~~
> abi.c:252:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   252 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> splice.c:228:23: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   228 |         score+=match[a[i]][b[j]];
>       |                      ~^~~
> splice.c:228:29: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   228 |         score+=match[a[i]][b[j]];
>       |                            ~^~~
> splice.c:231:22: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   231 |         score=match[a[i]][b[j]];
>       |                     ~^~~
> abi.c:266:46: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   266 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                             ~^~~
> splice.c:231:28: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   231 |         score=match[a[i]][b[j]];
>       |                           ~^~~
> abi.c:266:52: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   266 |              l<width && r<height && badness[a[l]][b[r]]==0
>       |                                                   ~^~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:234:36: note: in expansion of macro ‘Direc’
>   234 |       top=Score(i,j-1)+top_penalty[Direc(i,j-1)];
>       |                                    ^~~~~
> splice.c:16:38: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>    16 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
>       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> splice.c:235:38: note: in expansion of macro ‘Direc’
>   235 |       left=Score(i-1,j)+left_penalty[Direc(i-1,j)];
>       |                                      ^~~~~
> abi.c:273:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   273 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> abi.c:273:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   273 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> splice.c:260:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
>   260 |   while (direc=Direc(i,j))
>       |          ^~~~~
> splice.c:276:15: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
>   276 |   if (j>=span && j>=width-max_i || j>height/2)
>       |       ~~~~~~~~^~~~~~~~~~~~~~~~~
> abi.c:289:18: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   289 |     if (badness[a[i]][b[j]]) {
>       |                 ~^~~
> abi.c:289:24: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   289 |     if (badness[a[i]][b[j]]) {
>       |                       ~^~~
> abi.c:294:39: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   294 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                      ~^~~
> abi.c:294:45: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   294 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                            ~^~~
> abi.c:301:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   301 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> abi.c:301:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   301 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> abi.c:313:39: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   313 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                      ~^~~
> abi.c:313:45: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   313 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                            ~^~~
> abi.c:320:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   320 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> abi.c:320:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   320 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> abi.c:334:39: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   334 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                      ~^~~
> abi.c:334:45: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   334 |              l>=0 && r>=0 && badness[a[l]][b[r]]==0
>       |                                            ~^~~
> abi.c:341:30: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   341 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                             ~^~~
> abi.c:341:36: warning: array subscript has type ‘char’ [-Wchar-subscripts]
>   341 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
>       |                                   ~^~~
> vector.c: In function ‘tag_code’:
> vector.c:44:10: warning: ‘tmp’ may be used uninitialized [-Wmaybe-uninitialized]
>    44 |   return tmp;
>       |          ^~~
> vector.c:22:16: note: ‘tmp’ was declared here
>    22 |   register int tmp;
>       |                ^~~
> lucy.c: In function ‘hashstring’:
> lucy.c:111:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
>   111 |     if (g = value&0xF0000000) {
>       |         ^
> lucy.c: In function ‘worker’:
> lucy.c:172:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   172 |   int id=(int)arg;
>       |          ^
> lucy.c: In function ‘work_splice’:
> lucy.c:206:5: error: implicit declaration of function ‘splice_align_left’ [-Werror=implicit-function-declaration]
>   206 |     splice_align_left(id, target_seq[id],
>       |     ^~~~~~~~~~~~~~~~~
> qual_trim.c:214:1: warning: "/*" within comment [-Wcomment]
>   214 | /* Determines some number of candidate clean ranges using a particular
>       |  
> qual_trim.c:215:1: warning: "/*" within comment [-Wcomment]
>   215 | /* window size.
>       |  
> qual_trim.c:216:1: warning: "/*" within comment [-Wcomment]
>   216 | /*
>       |  
> qual_trim.c:217:1: warning: "/*" within comment [-Wcomment]
>   217 | /* Globals used:
>       |  
> qual_trim.c:218:1: warning: "/*" within comment [-Wcomment]
>   218 | /*      double end_limit,       (maximum allowed probability of error for bases)
>       |  
> qual_trim.c:219:1: warning: "/*" within comment [-Wcomment]
>   219 | /*                              (  at each end of clean range)
>       |  
> qual_trim.c:220:1: warning: "/*" within comment [-Wcomment]
>   220 | /*
>       |  
> qual_trim.c:332:1: warning: "/*" within comment [-Wcomment]
>   332 | /* Finds the largest subsequence of a sequence whose average probability
>       |  
> qual_trim.c:333:1: warning: "/*" within comment [-Wcomment]
>   333 | /* of error does not exceed a specified maximum.
>       |  
> qual_trim.c:334:1: warning: "/*" within comment [-Wcomment]
>   334 | /*
>       |  
> qual_trim.c:335:1: warning: "/*" within comment [-Wcomment]
>   335 | /* Globals used:
>       |  
> qual_trim.c:336:1: warning: "/*" within comment [-Wcomment]
>   336 | /*      double max_avg_error,   (maximum allowed average probability of error)
>       |  
> qual_trim.c:337:1: warning: "/*" within comment [-Wcomment]
>   337 | /*      double end_limit,       (maximum allowed probability of error for bases)
>       |  
> lucy.c:247:7: error: implicit declaration of function ‘splice_align_right’ [-Werror=implicit-function-declaration]
>   247 |       splice_align_right(id, target_seq[id]+seqs[i].left,
>       |       ^~~~~~~~~~~~~~~~~~
> qual_trim.c:338:1: warning: "/*" within comment [-Wcomment]
>   338 | /*                              (  at each end of clean range)
>       |  
> qual_trim.c:339:1: warning: "/*" within comment [-Wcomment]
>   339 | /*
>       |  
> lucy.c: At top level:
> lucy.c:284:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
>   284 | main (argc, argv)
>       | ^~~~
> qual_trim.c:434:1: warning: "/*" within comment [-Wcomment]
>   434 | /* Determines a single clean range, after recursively considering all of
>       |  
> qual_trim.c:435:1: warning: "/*" within comment [-Wcomment]
>   435 | /* the specified window sizes.  Calls average_error_trim to trim the
>       |  
> qual_trim.c:436:1: warning: "/*" within comment [-Wcomment]
>   436 | /* results of the final window based on overall average probability of
>       |  
> qual_trim.c:437:1: warning: "/*" within comment [-Wcomment]
>   437 | /* error.
>       |  
> qual_trim.c:438:1: warning: "/*" within comment [-Wcomment]
>   438 | /*
>       |  
> qual_trim.c:439:1: warning: "/*" within comment [-Wcomment]
>   439 | /* Globals used:
>       |  
> qual_trim.c:440:1: warning: "/*" within comment [-Wcomment]
>   440 | /*      double max_avg_error,   (maximum allowed average probability of error)
>       |  
> qual_trim.c:441:1: warning: "/*" within comment [-Wcomment]
>   441 | /*      double end_limit,       (maximum allowed probability of error for bases)
>       |  
> qual_trim.c:442:1: warning: "/*" within comment [-Wcomment]
>   442 | /*                              (  at each end of clean range)
>       |  
> qual_trim.c:443:1: warning: "/*" within comment [-Wcomment]
>   443 | /*
>       |  
> lucy.c: In function ‘main’:
> qual_trim.c:569:1: warning: "/*" within comment [-Wcomment]
>   569 | /* Sets the window size and average probability of error allowed for the
>       |  
> lucy.c:361:9: error: implicit declaration of function ‘set_bracket’ [-Werror=implicit-function-declaration]
>   361 |         set_bracket(bracket_size, bracket_err);
>       |         ^~~~~~~~~~~
> qual_trim.c:570:1: warning: "/*" within comment [-Wcomment]
>   570 | /* terminal windows that "bracket" the candidate clean range.
>       |  
> qual_trim.c:571:1: warning: "/*" within comment [-Wcomment]
>   571 | /*
>       |  
> qual_trim.c:572:1: warning: "/*" within comment [-Wcomment]
>   572 | /* Globals used:
>       |  
> qual_trim.c:573:1: warning: "/*" within comment [-Wcomment]
>   573 | /*      int bracket_window,     (size of terminal window)
>       |  
> qual_trim.c:574:1: warning: "/*" within comment [-Wcomment]
>   574 | /*      double bracket_error    (allowable average prob. error in window)
>       |  
> qual_trim.c:575:1: warning: "/*" within comment [-Wcomment]
>   575 | /*
>       |  
> qual_trim.c:587:1: warning: "/*" within comment [-Wcomment]
>   587 | /* Finds the leftmost window, and the rightmost window, which meet the
>       |  
> qual_trim.c:588:1: warning: "/*" within comment [-Wcomment]
>   588 | /* specified error criterion.  The purpose of this function is to bracket
>       |  
> qual_trim.c:589:1: warning: "/*" within comment [-Wcomment]
>   589 | /* the portion of the sequence that is of decent quality -- i.e. to
>       |  
> qual_trim.c:590:1: warning: "/*" within comment [-Wcomment]
>   590 | /* eliminate the really bad quality stuff that is often found on either
>       |  
> qual_trim.c:591:1: warning: "/*" within comment [-Wcomment]
>   591 | /* end.  The beginning of the first matching window, and the end of the
>       |  
> qual_trim.c:592:1: warning: "/*" within comment [-Wcomment]
>   592 | /* last, bracket the sequence range that will be looked at to find the
>       |  
> qual_trim.c:593:1: warning: "/*" within comment [-Wcomment]
>   593 | /* final clean range.
>       |  
> qual_trim.c:594:1: warning: "/*" within comment [-Wcomment]
>   594 | /*
>       |  
> qual_trim.c:595:1: warning: "/*" within comment [-Wcomment]
>   595 | /* This function is called before the multi_window_trim function, and
>       |  
> qual_trim.c:596:1: warning: "/*" within comment [-Wcomment]
>   596 | /* its results are used to limit the range of sequence that will be
>       |  
> qual_trim.c:597:1: warning: "/*" within comment [-Wcomment]
>   597 | /* considered by that function.
>       |  
> qual_trim.c:598:1: warning: "/*" within comment [-Wcomment]
>   598 | /*
>       |  
> lucy.c:469:5: error: implicit declaration of function ‘default_windows’ [-Werror=implicit-function-declaration]
>   469 |     default_windows();
>       |     ^~~~~~~~~~~~~~~
> lucy.c:531:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>   531 |     if (pthread_create(&threads[i], NULL, worker, (void*)i))
>       |                                                   ^
> qual_trim.c:678:1: warning: "/*" within comment [-Wcomment]
>   678 | /* Determines the clean range.  Calls multi_window_trim, which calls both
>       |  
> qual_trim.c:679:1: warning: "/*" within comment [-Wcomment]
>   679 | /* window_trim and average_error_trim.
>       |  
> qual_trim.c:680:1: warning: "/*" within comment [-Wcomment]
>   680 | /*
>       |  
> qual_trim.c:681:1: warning: "/*" within comment [-Wcomment]
>   681 | /* Globals used:
>       |  
> qual_trim.c:682:1: warning: "/*" within comment [-Wcomment]
>   682 | /*      int num_windows,        (number of windows)
>       |  
> qual_trim.c:683:1: warning: "/*" within comment [-Wcomment]
>   683 | /*      int *windows,           (array of window sizes (largest to smallest))
>       |  
> qual_trim.c:684:1: warning: "/*" within comment [-Wcomment]
>   684 | /*      double *err_limits,     (array of maximum allowed average probability)
>       |  
> qual_trim.c:685:1: warning: "/*" within comment [-Wcomment]
>   685 | /*                              (  for each window size)
>       |  
> qual_trim.c:686:1: warning: "/*" within comment [-Wcomment]
>   686 | /*      double max_avg_error,   (maximum allowed average probability of error)
>       |  
> qual_trim.c:687:1: warning: "/*" within comment [-Wcomment]
>   687 | /*      double end_limit,       (maximum allowed probability of error for bases)
>       |  
> qual_trim.c:688:1: warning: "/*" within comment [-Wcomment]
>   688 | /*                              (  at each end of clean range)
>       |  
> qual_trim.c:689:1: warning: "/*" within comment [-Wcomment]
>   689 | /*      int bracket_window,     (size of terminal window)
>       |  
> lucy.c:639:7: error: implicit declaration of function ‘quality_trim’ [-Werror=implicit-function-declaration]
>   639 |       quality_trim(conf_val_raw, j, minimum, &(ptr->left), &(ptr->right));
>       |       ^~~~~~~~~~~~
> qual_trim.c:690:1: warning: "/*" within comment [-Wcomment]
>   690 | /*      double bracket_error    (allowable average prob. error in window)
>       |  
> qual_trim.c:691:1: warning: "/*" within comment [-Wcomment]
>   691 | /*
>       |  
> qual_trim.c: In function ‘quality_trim’:
> qual_trim.c:705:21: warning: unused variable ‘sum’ [-Wunused-variable]
>   705 |         double err, sum;
>       |                     ^~~
> qual_trim.c:705:16: warning: unused variable ‘err’ [-Wunused-variable]
>   705 |         double err, sum;
>       |                ^~~
> qual_trim.c: At top level:
> qual_trim.c:792:1: warning: "/*" within comment [-Wcomment]
>   792 | /* Sets up 3 windows for quality trimming, with the average error allowed
>       |  
> qual_trim.c:793:1: warning: "/*" within comment [-Wcomment]
>   793 | /* in each window calculated from max_avg_error.
>       |  
> qual_trim.c:794:1: warning: "/*" within comment [-Wcomment]
>   794 | /*
>       |  
> lucy.c:669:5: error: implicit declaration of function ‘prepare_abi_mask’ [-Werror=implicit-function-declaration]
>   669 |     prepare_abi_mask();
>       |     ^~~~~~~~~~~~~~~~
> qual_trim.c:795:1: warning: "/*" within comment [-Wcomment]
>   795 | /* Globals used:
>       |  
> lucy.c:713:9: error: implicit declaration of function ‘abi_align’ [-Werror=implicit-function-declaration]
>   713 |         abi_align(phred_seq, ptr->len, abi_seq, bases, &left, &right);
>       |         ^~~~~~~~~
> qual_trim.c:796:1: warning: "/*" within comment [-Wcomment]
>   796 | /*      int num_windows,        (number of windows)
>       |  
> qual_trim.c:797:1: warning: "/*" within comment [-Wcomment]
>   797 | /*      int *windows,           (array of window sizes (largest to smallest))
>       |  
> qual_trim.c:798:1: warning: "/*" within comment [-Wcomment]
>   798 | /*      double *err_limits,     (array of maximum allowed average probability)
>       |  
> qual_trim.c:799:1: warning: "/*" within comment [-Wcomment]
>   799 | /*                              (for each window size)
>       |  
> lucy.c:792:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   792 |            (i=(int)fgets(buf, BUFFER_LENGTH, spl_file)) && buf[0]!='>'; ) {
>       |               ^
> qual_trim.c:800:1: warning: "/*" within comment [-Wcomment]
>   800 | /*      double max_avg_error,   (maximum allowed average probability of error)
>       |  
> qual_trim.c:801:1: warning: "/*" within comment [-Wcomment]
>   801 | /*
>       |  
> qual_trim.c:826:1: warning: "/*" within comment [-Wcomment]
>   826 | /* Simulates the functionality of the old grim() function, by calling
>       |  
> qual_trim.c:827:1: warning: "/*" within comment [-Wcomment]
>   827 | /* quality_trim().
>       |  
> qual_trim.c:828:1: warning: "/*" within comment [-Wcomment]
>   828 | /*
>       |  
> qual_trim.c:829:1: warning: "/*" within comment [-Wcomment]
>   829 | /* Globals used:
>       |  
> qual_trim.c:830:1: warning: "/*" within comment [-Wcomment]
>   830 | /*      int num_windows,        (number of windows)
>       |  
> qual_trim.c:831:1: warning: "/*" within comment [-Wcomment]
>   831 | /*      int *windows,           (array of window sizes (largest to smallest))
>       |  
> qual_trim.c:832:1: warning: "/*" within comment [-Wcomment]
>   832 | /*      double *err_limits,     (array of maximum allowed average probability)
>       |  
> qual_trim.c:833:1: warning: "/*" within comment [-Wcomment]
>   833 | /*                              (for each window size)
>       |  
> qual_trim.c:834:1: warning: "/*" within comment [-Wcomment]
>   834 | /*      double max_avg_error,   (maximum allowed average probability of error)
>       |  
> qual_trim.c:835:1: warning: "/*" within comment [-Wcomment]
>   835 | /*      double end_limit,       (maximum allowed probability of error for bases)
>       |  
> qual_trim.c:836:1: warning: "/*" within comment [-Wcomment]
>   836 | /*                              (  at each end of clean range)
>       |  
> qual_trim.c:837:1: warning: "/*" within comment [-Wcomment]
>   837 | /*
>       |  
> lucy.c:891:14: error: implicit declaration of function ‘poly_at_left’ [-Werror=implicit-function-declaration]
>   891 |         left=poly_at_left(&phred_seq[seqs[i].left],
>       |              ^~~~~~~~~~~~
> lucy.c:894:15: error: implicit declaration of function ‘poly_at_right’ [-Werror=implicit-function-declaration]
>   894 |         right=poly_at_right(&phred_seq[seqs[i].right],
>       |               ^~~~~~~~~~~~~
> abi.c: In function ‘abi_code’:
> abi.c:84:10: warning: ‘tmp’ may be used uninitialized [-Wmaybe-uninitialized]
>    84 |   return tmp;
>       |          ^~~
> abi.c:62:16: note: ‘tmp’ was declared here
>    62 |   register int tmp;
>       |                ^~~
> lucy.c:934:5: error: implicit declaration of function ‘construct_vector_tags’ [-Werror=implicit-function-declaration]
>   934 |     construct_vector_tags(vec_seq, bases);
>       |     ^~~~~~~~~~~~~~~~~~~~~
> lucy.c:947:11: error: implicit declaration of function ‘match_vector_tags’ [-Werror=implicit-function-declaration]
>   947 |         j=match_vector_tags(phred_seq+seqs[i].left, bases);
>       |           ^~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
> lucy.c:959:5: error: implicit declaration of function ‘destroy_vector_tags’ [-Werror=implicit-function-declaration]
>   959 |     destroy_vector_tags();
>       |     ^~~~~~~~~~~~~~~~~~~
> make[1]: *** [<builtin>: poly.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/lucy_1.20-3_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