Bug#1066233: libmpeg3: FTBFS: audio/synthesizers.c:36:9: error: implicit declaration of function ‘mpeg3audio_dct64’; did you mean ‘mpeg3audio_dopcm’? [-Werror=implicit-function-declaration]

2024-03-13 Thread Andrey Rakhmatullin
On Wed, Mar 13, 2024 at 12:41:13PM +0100, Lucas Nussbaum wrote:
> > 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
mpeg3audio_dct64() is defined in audio/dct.c and there is no header with
its prototype.

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Bug#1066233: libmpeg3: FTBFS: audio/synthesizers.c:36:9: error: implicit declaration of function ‘mpeg3audio_dct64’; did you mean ‘mpeg3audio_dopcm’? [-Werror=implicit-function-declaration]

2024-03-13 Thread Lucas Nussbaum
Source: libmpeg3
Version: 1.8.dfsg-5
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@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=/<>=. 
> -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,
>