Bug#1072401: baresip: FTBFS with ffmpeg 7.0: modules/avformat/audio.c:104:49: error: ‘AVCodecContext’ has no member named ‘channels’
Sebastian Ramacher
sramacher at debian.org
Sun Jun 2 14:15:57 BST 2024
Source: baresip
Version: 1.1.0-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):
> gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DRELEASE -Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wbad-function-cast -Wsign-compare -Wnested-externs -Wshadow -Waggregate-return -Wcast-align -Wold-style-definition -Wdeclaration-after-statement -g -O3 -Wuninitialized -Wno-strict-aliasing -fPIC -DLINUX -DOS=\"linux\" -std=c11 -pedantic -DHAVE_ATOMIC -DARCH=\"\" -DUSE_OPENSSL -DUSE_TLS -DUSE_OPENSSL_DTLS -DUSE_DTLS -DUSE_OPENSSL_SRTP -DUSE_DTLS_SRTP -DUSE_ZLIB -DHAVE_PTHREAD -DHAVE_GETIFADDRS -DHAVE_STRERROR_R -DHAVE_GETOPT -DHAVE_INTTYPES_H -DHAVE_NET_ROUTE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STDBOOL_H -DHAVE_INET6 -DHAVE_RESOLV -DHAVE_SYSLOG -DHAVE_FORK -DHAVE_INET_NTOP -DHAVE_PWD_H -DHAVE_POLL -DHAVE_INET_PTON -DHAVE_SELECT -DHAVE_SELECT_H -DHAVE_SETRLIMIT -DHAVE_SIGNAL -DHAVE_SYS_TIME_H -DHAVE_EPOLL -DHAVE_UNAME -DHAVE_UNISTD_H -DHAVE_STRINGS_H -DVERSION=\"1.1.0\" -DVER_MAJOR= -DVER_MINOR= -DVER_PATCH= -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 -I. -Iinclude -I/usr/include/re -I/usr/include/rem -DPREFIX=\"/usr\" -DMOD_PATH=\"/usr/lib/baresip/modules\" -DSHARE_PATH=\"/usr/share/baresip\" -I/usr/include/aarch64-linux-gnu \
> -c modules/avformat/audio.c -o build-/modules/avformat/audio.o -MD -MF build-/modules/avformat/audio.d -MT build-/modules/avformat/audio.o
> modules/avformat/avformat.c: In function ‘shared_destructor’:
> modules/avformat/avformat.c:59:17: warning: ‘avcodec_close’ is deprecated [-Wdeprecated-declarations]
> 59 | avcodec_close(st->au.ctx);
> | ^~~~~~~~~~~~~
> modules/avformat/audio.c: In function ‘avformat_audio_alloc’:
> In file included from modules/avformat/avformat.c:15:
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
> 2387 | int avcodec_close(AVCodecContext *avctx);
> | ^~~~~~~~~~~~~
> modules/avformat/avformat.c:64:17: warning: ‘avcodec_close’ is deprecated [-Wdeprecated-declarations]
> 64 | avcodec_close(st->vid.ctx);
> | ^~~~~~~~~~~~~
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
> 2387 | int avcodec_close(AVCodecContext *avctx);
> | ^~~~~~~~~~~~~
> modules/avformat/avformat.c: In function ‘open_codec’:
> modules/avformat/avformat.c:180:23: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 180 | codec = avcodec_find_decoder(ctx->codec_id);
> | ^
> modules/avformat/avformat.c: In function ‘avformat_shared_alloc’:
> modules/avformat/avformat.c:262:30: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 262 | input_format = av_find_input_format(format);
> | ^
> modules/avformat/avformat.c: In function ‘module_init’:
> modules/avformat/avformat.c:439:34: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 439 | avformat_decoder = avcodec_find_decoder_by_name(decoder);
> | ^
> modules/avformat/audio.c:104:49: error: ‘AVCodecContext’ has no member named ‘channels’
> 104 | sh->au.ctx->sample_rate, sh->au.ctx->channels,
> | ^~
> modules/avformat/audio.c: In function ‘avformat_audio_decode’:
> modules/avformat/audio.c:158:23: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 158 | frame.channel_layout =
> | ^~~~~~~~~~~~~~
> | ch_layout
> modules/avformat/audio.c:159:25: error: implicit declaration of function ‘av_get_default_channel_layout’ [-Werror=implicit-function-declaration]
> 159 | av_get_default_channel_layout(frame.channels);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> modules/avformat/audio.c:159:25: warning: nested extern declaration of ‘av_get_default_channel_layout’ [-Wnested-externs]
> modules/avformat/audio.c:159:60: error: ‘AVFrame’ has no member named ‘channels’
> 159 | av_get_default_channel_layout(frame.channels);
> | ^
> modules/avformat/audio.c:161:23: error: ‘AVFrame’ has no member named ‘channels’
> 161 | frame2.channels = st->ausrc_st->prm.ch;
> | ^
> modules/avformat/audio.c:162:24: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 162 | frame2.channel_layout =
> | ^~~~~~~~~~~~~~
> | ch_layout
> modules/avformat/audio.c:176:56: error: ‘AVFrame’ has no member named ‘channels’
> 176 | frame2.nb_samples * frame2.channels);
> | ^
> cc1: some warnings being treated as errors
> make[2]: *** [mk/mod.mk:49: build-/modules/avformat/audio.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/baresip_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
More information about the Pkg-voip-maintainers
mailing list