[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1072413: freerdp2: FTBFS with ffmpeg 7.0: dsp_ffmpeg.c:239:18: error: implicit declaration of function ‘av_get_default_channel_layout’ [-Werror=implicit-function-declaration]



Source: freerdp2
Version: 2.11.5+dfsg1-1
Severity: important
Tags: trixie sid ftbfs
Usertags: ffmpeg-7.0

Hi,

during a rebuild of the reverse dependencies for the transition to
ffmpeg 7.0, your package failed to build


Relevant part (hopefully):
> cd /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/libfreerdp && /usr/bin/cc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DEXT_PATH=\"/usr/lib/aarch64-linux-gnu/freerdp2/extensions\" -DFREERDP_EXPORTS -DHAVE_CONFIG_H -DSWSCALE_FOUND=1 -DWINPR_EXPORTS -DWITH_OPENSSL -DWITH_WAYLAND -DWITH_X11 -DWITH_XKBFILE -D_FILE_OFFSET_BITS=64 -Dfreerdp_EXPORTS -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/include -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/winpr/include -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/winpr/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -fno-omit-frame-pointer -DWINPR_DLL -O2 -g -DNDEBUG -Wno-builtin-macro-redefined -D__FILE__='"obj-aarch64-linux-gnu/libfreerdp/CMakeFiles/freerdp.dir/compiler_depend.ts"' -fPIC -MD -MT libfreerdp/CMakeFiles/freerdp.dir/codec/h264_ffmpeg.c.o -MF CMakeFiles/freerdp.dir/codec/h264_ffmpeg.c.o.d -o CMakeFiles/freerdp.dir/codec/h264_ffmpeg.c.o -c /<<PKGBUILDDIR>>/libfreerdp/codec/h264_ffmpeg.c
> /<<PKGBUILDDIR>>/libfreerdp/codec/h264_ffmpeg.c: In function ‘libavcodec_create_encoder’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/h264_ffmpeg.c:140:27: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   140 |         sys->codecEncoder = avcodec_find_encoder(AV_CODEC_ID_H264);
>       |                           ^
> /<<PKGBUILDDIR>>/libfreerdp/codec/h264_ffmpeg.c: In function ‘libavcodec_init’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/h264_ffmpeg.c:516:35: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   516 |                 sys->codecDecoder = avcodec_find_decoder(AV_CODEC_ID_H264);
>       |                                   ^
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c: In function ‘ffmpeg_open_context’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:239:18: error: implicit declaration of function ‘av_get_default_channel_layout’ [-Werror=implicit-function-declaration]
>   239 |         layout = av_get_default_channel_layout(format->nChannels);
>       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:246:32: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   246 |                 context->codec = avcodec_find_encoder(context->id);
>       |                                ^
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:248:32: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   248 |                 context->codec = avcodec_find_decoder(context->id);
>       |                                ^
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:273:25: error: ‘AVCodecContext’ has no member named ‘channels’
>   273 |         context->context->channels = format->nChannels;
>       |                         ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:274:27: error: ‘AVCodecContext’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   274 |         context->context->channel_layout = layout;
>       |                           ^~~~~~~~~~~~~~
>       |                           ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:317:25: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   317 |         context->frame->channel_layout = layout;
>       |                         ^~~~~~~~~~~~~~
>       |                         ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:318:23: error: ‘AVFrame’ has no member named ‘channels’
>   318 |         context->frame->channels = format->nChannels;
>       |                       ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:333:29: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   333 |         context->resampled->channel_layout = layout;
>       |                             ^~~~~~~~~~~~~~
>       |                             ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:334:27: error: ‘AVFrame’ has no member named ‘channels’
>   334 |         context->resampled->channels = format->nChannels;
>       |                           ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:338:36: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   338 |                 context->buffered->channel_layout = context->resampled->channel_layout;
>       |                                    ^~~~~~~~~~~~~~
>       |                                    ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:338:73: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   338 |                 context->buffered->channel_layout = context->resampled->channel_layout;
>       |                                                                         ^~~~~~~~~~~~~~
>       |                                                                         ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:339:34: error: ‘AVFrame’ has no member named ‘channels’
>   339 |                 context->buffered->channels = context->resampled->channels;
>       |                                  ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:339:65: error: ‘AVFrame’ has no member named ‘channels’
>   339 |                 context->buffered->channels = context->resampled->channels;
>       |                                                                 ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c: In function ‘ffmpeg_encode_frame’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:424:39: error: ‘AVFrame’ has no member named ‘channels’
>   424 |                 for (int y = 0; y < in->channels; y++)
>       |                                       ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:426:39: warning: initialization of ‘float *’ from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
>   426 |                         float* data = pp[y];
>       |                                       ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c: In function ‘ffmpeg_fill_frame’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:480:14: error: ‘AVFrame’ has no member named ‘channels’
>   480 |         frame->channels = inputFormat->nChannels;
>       |              ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:483:16: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   483 |         frame->channel_layout = av_get_default_channel_layout(frame->channels);
>       |                ^~~~~~~~~~~~~~
>       |                ch_layout
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:483:68: error: ‘AVFrame’ has no member named ‘channels’
>   483 |         frame->channel_layout = av_get_default_channel_layout(frame->channels);
>       |                                                                    ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:487:57: error: ‘AVFrame’ has no member named ‘channels’
>   487 |         if ((ret = avcodec_fill_audio_frame(frame, frame->channels, frame->format, data, size, 1)) < 0)
>       |                                                         ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c: In function ‘ffmpeg_decode’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:569:59: error: ‘AVFrame’ has no member named ‘channels’
>   569 |                         const size_t data_size = resampled->channels * resampled->nb_samples * 2;
>       |                                                           ^~
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c: In function ‘freerdp_dsp_ffmpeg_encode’:
> /<<PKGBUILDDIR>>/libfreerdp/codec/dsp_ffmpeg.c:667:61: error: ‘AVCodecContext’ has no member named ‘channels’
>   667 |                                             context->context->channels, context->context->sample_fmt);
>       |                                                             ^~
> cc1: some warnings being treated as errors
> make[3]: *** [libfreerdp/CMakeFiles/freerdp.dir/build.make:1885: libfreerdp/CMakeFiles/freerdp.dir/codec/dsp_ffmpeg.c.o] Error 1


The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/freerdp2_arm64.build

ffmpeg 7.0 is available in experimental.

Cheers

-- 
Sebastian Ramacher


Reply to: