• Bug#1066233: libmpeg3: FTBFS: audio/synthesizers.c:36:9: error: implici

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 13:00:12 2024
    Source: libmpeg3
    Version: 1.8.dfsg-5
    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 -c -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 -Wextra -Wno-unused-
    function -W -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -I/usr/include/a52dec -g -fPIC -D_REENTRANT audio/tables.c -o x86_64/audio/tables.o
    audio/synthesizers.c: In function ‘mpeg3audio_synth_stereo’: audio/synthesizers.c:36:9: error: implicit declaration of function ‘mpeg3audio_dct64’; did you mean ‘mpeg3audio_dopcm’? [-Werror=implicit-function-declaration]
    36 | mpeg3audio_dct64(buf[1] + ((audio->bo + 1) & 0xf), buf[0] + audio->bo, bandPtr);
    | ^~~~~~~~~~~~~~~~
    | mpeg3audio_dopcm
    audio/layer2.c: In function ‘step_two’:
    audio/layer2.c:283:20: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
    283 | if(ba = *bita++)
    | ^~
    audio/layer2.c:369:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
    369 | for(i = sblimit; i < SBLIMIT; i++)
    | ^~~
    audio/layer2.c:373:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
    373 | return result;
    | ^~~~~~
    audio/layer2.c:276:19: warning: unused variable ‘test’ [-Wunused-variable]
    276 | int d1, step, test;
    | ^~~~
    audio/layer2.c: In function ‘mpeg3audio_dolayer2’:
    audio/layer2.c:393:42: warning: pointer targets in passing argument 2 of ‘mpeg3bits_use_ptr’ differ in signedness [-Wpointer-sign]
    393 | mpeg3bits_use_ptr(audio->stream, frame);
    | ^~~~~
    | |
    | char *
    In file included from audio/layer2.c:8:
    ./mpeg3protos.h:482:60: note: expected ‘unsigned char *’ but argument is of type ‘char *’
    482 | int mpeg3bits_use_ptr(mpeg3_bits_t* stream, unsigned char *buffer);
    | ~~~~~~~~~~~~~~~^~~~~~ audio/layer2.c:378:13: warning: unused parameter ‘frame_size’ [-Wunused-parameter]
    378 | int frame_size,
    | ~~~~^~~~~~~~~~
    audio/pcm.c: In function ‘mpeg3audio_dopcm’:
    audio/pcm.c:71:64: warning: pointer targets in initialization of ‘unsigned char *’ from ‘char *’ differ in signedness [-Wpointer-sign]
    71 | unsigned char *input = frame +
    | ^~~~~ audio/layer3.c: In function ‘get_scale_factors_1’:
    audio/layer3.c:53:21: warning: unused parameter ‘ch’ [-Wunused-parameter]
    53 | int ch,
    | ~~~~^~
    audio/layer3.c:54:21: warning: unused parameter ‘gr’ [-Wunused-parameter]
    54 | int gr)
    | ~~~~^~
    audio/layer3.c: In function ‘dequantize_sample’:
    audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:338:33: note: in expansion of macro ‘REFRESH_MASK’
    338 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:353:33: note: in expansion of macro ‘REFRESH_MASK’
    353 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/ac3.c: In function ‘mpeg3audio_doac3’:
    audio/ac3.c:117:17: warning: pointer targets in passing argument 2 of ‘a52_frame’ differ in signedness [-Wpointer-sign]
    117 | frame,
    | ^~~~~
    | |
    | char *
    In file included from audio/ac3.c:5:
    /usr/include/a52dec/a52.h:138:47: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
    138 | int a52_frame (a52_state_t * state, uint8_t * buf, int * flags,
    | ~~~~~~~~~~^~~ audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:381:33: note: in expansion of macro ‘REFRESH_MASK’
    381 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:413:17: note: in expansion of macro ‘REFRESH_MASK’
    413 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/ac3.c:107:13: warning: unused parameter ‘frame_size’ [-Wunused-parameter]
    107 | int frame_size,
    | ~~~~^~~~~~~~~~
    audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:542:33: note: in expansion of macro ‘REFRESH_MASK’
    542 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:557:41: note: in expansion of macro ‘REFRESH_MASK’
    557 | REFRESH_MASK;
    | ^~~~~~~~~~~~ audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:584:41: note: in expansion of macro ‘REFRESH_MASK’
    584 | REFRESH_MASK;
    | ^~~~~~~~~~~~ audio/layer3.c:226:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    226 | while(num < BITSHIFT) \
    | ^
    audio/layer3.c:618:17: note: in expansion of macro ‘REFRESH_MASK’
    618 | REFRESH_MASK;
    | ^~~~~~~~~~~~
    audio/layer3.c: In function ‘hybrid’:
    audio/layer3.c:829:9: error: implicit declaration of function ‘mpeg3audio_dct36’; did you mean ‘mpeg3audio_dopcm’? [-Werror=implicit-function-declaration]
    829 | mpeg3audio_dct36(fsIn[0], rawout1, rawout2, mpeg3_win[0], tspnt);
    | ^~~~~~~~~~~~~~~~
    | mpeg3audio_dopcm
    audio/layer3.c:839:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
    839 | for( ; sb < gr_info->maxb; sb += 2, tspnt += 2, rawout1 += 36, rawout2 += 36)
    | ^
    audio/mpeg3audio.c: In function ‘read_frame’:
    audio/mpeg3audio.c:362:46: warning: pointer targets in passing argument 2 of ‘mpeg3audio_doac3’ differ in signedness [-Wpointer-sign]
    362 | audio->packet_buffer,
    | ~~~~~^~~~~~~~~~~~~~~
    | |
    | unsigned char *
    In file included from audio/mpeg3audio.c:2:
    ./mpeg3protos.h:196:15: note: expected ‘char *’ but argument is of type ‘unsigned char *’
    196 | char *frame,
    | ~~~~~~^~~~~
    audio/mpeg3audio.c:374:62: warning: pointer targets in passing argument 2 of ‘mpeg3audio_dolayer2’ differ in signedness [-Wpointer-sign]
    374 | audio->packet_buffer,
    | ~~~~~^~~~~~~~~~~~~~~
    | |
    | unsigned char *
    ./mpeg3protos.h:189:15: note: expected ‘char *’ but argument is of type ‘unsigned char *’
    189 | char *frame,
    | ~~~~~~^~~~~
    audio/mpeg3audio.c:383:62: warning: pointer targets in passing argument 2 of ‘mpeg3audio_dolayer3’ differ in signedness [-Wpointer-sign]
    383 | audio->packet_buffer,
    | ~~~~~^~~~~~~~~~~~~~~
    | |
    | unsigned char *
    audio/layer3.c:841:17: error: implicit declaration of function ‘mpeg3audio_dct12’; did you mean ‘mpeg3audio_dopcm’? [-Werror=implicit-function-declaration]
    841 | mpeg3audio_dct12(fsIn[sb] ,rawout1 ,rawout2 ,mpeg3_win[2] ,tspnt);
    | ^~~~~~~~~~~~~~~~
    | mpeg3audio_dopcm
    ./mpeg3protos.h:182:15: note: expected ‘char *’ but argument is of type ‘unsigned char *’
    182 | char *frame,
    | ~~~~~~^~~~~
    audio/mpeg3audio.c:397:46: warning: pointer targets in passing argument 2 of ‘mpeg3audio_dopcm’ differ in signedness [-Wpointer-sign]
    397 | audio->packet_buffer,
    | ~~~~~^~~~~~~~~~~~~~~
    | |
    | unsigned char * ./mpeg3protos.h:204:15: note: expected ‘char *’ but argument is of type ‘unsigned char *’
    204 | char *frame,
    | ~~~~~~^~~~~
    audio/layer3.c:847:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
    847 | for( ; sb < gr_info->maxb; sb += 2, tspnt += 2, rawout1 += 36, rawout2 += 36)
    | ^
    audio/mpeg3audio.c: In function ‘get_length’:
    audio/mpeg3audio.c:446:21: warning: unused variable ‘try’ [-Wunused-variable]
    446 | int try = 0;
    | ^~~
    audio/layer3.c: In function ‘antialias’:
    audio/mpeg3audio.c: In function ‘calculate_format’: audio/layer3.c:866:37: warning: unused parameter ‘audio’ [-Wunused-parameter]
    866 | static int antialias(mpeg3_layer_t *audio,
    | ~~~~~~~~~~~~~~~^~~~~
    audio/mpeg3audio.c:500:31: warning: unused parameter ‘file’ [-Wunused-parameter]
    500 | int calculate_format(mpeg3_t *file, mpeg3_atrack_t *track)
    | ~~~~~~~~~^~~~
    audio/layer3.c: In function ‘calc_i_stereo’:
    audio/mpeg3audio.c: In function ‘seek’:
    audio/layer3.c:916:41: warning: unused parameter ‘audio’ [-Wunused-parameter]
    916 | static int calc_i_stereo(mpeg3_layer_t *audio,
    | ~~~~~~~~~~~~~~~^~~~~ audio/mpeg3audio.c:646:13: warning: unused variable ‘result’ [-Wunused-variable]
    646 | int result = 0;
    | ^~~~~~
    audio/mpeg3audio.c: In function ‘mpeg3audio_seek_sample’: audio/mpeg3audio.c:791:25: warning: unused variable ‘track’ [-Wunused-variable]
    791 | mpeg3_atrack_t *track = audio->track;
    | ^~~~~
    audio/mpeg3audio.c: In function ‘mpeg3audio_read_raw’:
    audio/layer3.c: In function ‘mpeg3audio_dolayer3’: audio/mpeg3audio.c:806:13: warning: unused variable ‘i’ [-Wunused-variable]
    806 | int i;
    | ^
    audio/layer3.c:1237:63: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
    1237 | if(sideinfo.ch[1].gr[gr].maxb > maxb)
    | ^ audio/mpeg3audio.c:803:14: warning: unused parameter ‘max_size’ [-Wunused-parameter]
    803 | long max_size)
    | ~~~~~^~~~~~~~
    audio/layer3.c:1266:54: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
    1266 | for(i = 0; i < SSLIMIT * gr_info->maxb; i++, in0++)
    | ^ audio/layer3.c:1274:54: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
    1274 | for(i = 0; i < SSLIMIT * gr_info->maxb; i++)
    | ^ audio/mpeg3audio.c: In function ‘mpeg3audio_decode_audio’: audio/mpeg3audio.c:915:19: warning: unused variable ‘k’ [-Wunused-variable]
    915 | int i, j, k;
    | ^
    audio/layer3.c:1300:49: error: implicit declaration of function ‘mpeg3audio_synth_stereo’ [-Werror=implicit-function-declaration]
    1300 | mpeg3audio_synth_stereo(audio,
    | ^~~~~~~~~~~~~~~~~~~~~~~
    audio/layer3.c:1082:13: warning: unused variable ‘i’ [-Wunused-variable]
    1082 | int i;
    | ^
    audio/layer3.c: In function ‘mpeg3_layer_reset’:
    audio/layer3.c:1355:9: error: implicit declaration of function ‘mpeg3audio_reset_synths’ [-Werror=implicit-function-declaration]
    1355 | mpeg3audio_reset_synths(audio);
    | ^~~~~~~~~~~~~~~~~~~~~~~
    audio/layer3.c: In function ‘mpeg3_layer_header’:
    audio/layer3.c:1509:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
    1509 | else
    | ^~~~
    audio/layer3.c:1513:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
    1513 | if(layer_data->samplerate != 0 &&
    | ^~
    audio/tables.c: In function ‘init_layer2’:
    audio/tables.c:138:39: warning: unused parameter ‘audio’ [-Wunused-parameter]
    138 | static int init_layer2(mpeg3_layer_t *audio)
    | ~~~~~~~~~~~~~~~^~~~~
    cc -c -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 -Wextra -Wno-unused-
    function -W -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -I/usr/include/a52dec -g -fPIC -D_REENTRANT libmpeg3.c -o x86_64/libmpeg3.o
    cc1: some warnings being treated as errors
    make[1]: *** [Makefile:230: x86_64/audio/synthesizers.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2024/03/13/libmpeg3_1.8.dfsg-5_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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)