Bug#1072459: wxsvg: FTBFS with ffmpeg 7.0: mediadec_ffmpeg.cpp:168:75: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
Source: wxsvg
Version: 2:1.5.24+dfsg-2.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):
> /bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"wxsvg\" -DPACKAGE_TARNAME=\"wxsvg\" -DPACKAGE_VERSION=\"1.5.24\" -DPACKAGE_STRING=\"wxsvg\ 1.5.24\" -DPACKAGE_BUGREPORT=\"http://wxsvg.sourceforge.net/\" -DPACKAGE_URL=\"\" -DPACKAGE=\"wxsvg\" -DVERSION=\"1.5.24\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../include -I../include/wxSVG -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1 -DUSE_RENDER_CAIRO -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -pthread -I/usr/lib/aarch64-linux-gnu/wx/include/gtk3-unicode-3.2 -I/usr/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -DUSE_LIBAV -I/usr/include/aarch64-linux-gnu -c -o mediadec_ffmpeg.lo mediadec_ffmpeg.cpp
> libtool: compile: g++ -DPACKAGE_NAME=\"wxsvg\" -DPACKAGE_TARNAME=\"wxsvg\" -DPACKAGE_VERSION=\"1.5.24\" "-DPACKAGE_STRING=\"wxsvg 1.5.24\"" -DPACKAGE_BUGREPORT=\"http://wxsvg.sourceforge.net/\" -DPACKAGE_URL=\"\" -DPACKAGE=\"wxsvg\" -DVERSION=\"1.5.24\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../include -I../include/wxSVG -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1 -DUSE_RENDER_CAIRO -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -pthread -I/usr/lib/aarch64-linux-gnu/wx/include/gtk3-unicode-3.2 -I/usr/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -DUSE_LIBAV -I/usr/include/aarch64-linux-gnu -c mediadec_ffmpeg.cpp -fPIC -DPIC -o .libs/mediadec_ffmpeg.o
> mediadec_ffmpeg.cpp: In member function ‘int wxFfmpegMediaDecoder::GetChannelNumber(unsigned int)’:
> mediadec_ffmpeg.cpp:168:75: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 168 | return m_formatCtx ? m_formatCtx->streams[streamIndex]->codecpar->channels : -1;
> | ^~~~~~~~
> mediadec_ffmpeg.cpp: In member function ‘void wxFfmpegMediaDecoder::CloseVideoDecoder()’:
> mediadec_ffmpeg.cpp:217:22: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
> 217 | avcodec_close(m_codecCtx); // close the codec
> | ~~~~~~~~~~~~~^~~~~~~~~~~~
> In file included from mediadec_ffmpeg.cpp:23:
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
> 2387 | int avcodec_close(AVCodecContext *avctx);
> | ^~~~~~~~~~~~~
> mediadec_ffmpeg.cpp: In member function ‘virtual bool wxFfmpegMediaDecoder::BeginDecode(int, int)’:
> mediadec_ffmpeg.cpp:237:22: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
> 237 | avcodec_close(m_codecCtx);
> | ~~~~~~~~~~~~~^~~~~~~~~~~~
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
> 2387 | int avcodec_close(AVCodecContext *avctx);
> | ^~~~~~~~~~~~~
> make[3]: *** [Makefile:673: mediadec_ffmpeg.lo] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/wxsvg_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
Reply to: