Bug#1072449: retroarch: FTBFS with ffmpeg 7.0: record/drivers/record_ffmpeg.c:304:16: error: ‘AVCodecContext’ has no member named ‘channels’

Sebastian Ramacher sramacher at debian.org
Sun Jun 2 14:26:12 BST 2024


Source: retroarch
Version: 1.18.0+dfsg-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):
> /usr/bin/gcc -Wdate-time -D_FORTIFY_SOURCE=2 -g -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -std=gnu99 -D_GNU_SOURCE -I. -ffast-math -Wall -Wsign-compare -Wno-unused-result -Wno-unused-variable -finput-charset=UTF-8 -DQT_CORE_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -DQT_GUI_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5 -DQT_CORE_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtCore -DQT_WIDGETS_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -DQT_GUI_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtGui -DQT_CORE_LIB -DQT_CONCURRENT_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtConcurrent -I/usr/include/aarch64-linux-gnu/qt5 -DQT_CORE_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtCore -DQT_NETWORK_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5 -DQT_CORE_LIB -I/usr/include/aarch64-linux-gnu/qt5/QtCore -fPIC -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16   -I/usr/include/libdecor-0     -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include  -I/usr/include/libdrm -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/aarch64-linux-gnu -I/usr/include/aarch64-linux-gnu -I/usr/include/aarch64-linux-gnu -I/usr/include/aarch64-linux-gnu -I/usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -I./deps/7zip -I./libretro-common/include -I./deps -I./deps/xdelta3 -I./libretro-common  -Igfx/include -I/usr/include/spirv_cross -I./deps/7zip -I./libretro-common/formats/libchdr -Ideps/rcheevos/include -Ideps/discord-rpc/include -Iffmpeg -I./deps/switchres -Ideps -Ideps/stb -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -DGLOBAL_CONFIG_DIR='"/etc"' -DASSETS_DIR='"/usr/share/retroarch"' -DFILTERS_DIR='"/usr/share/retroarch"' -DCORE_INFO_DIR='"/usr/share/retroarch"' -DHAVE_LIBRETRODB -DHAVE_DYLIB -DHAVE_FILE_LOGGER -DHAVE_SHADERPIPELINE -DHAVE_NETPLAYDISCOVERY -DHAVE_GIT_VERSION -DGIT_VERSION='b2ceb50' -DHAVE_DR_MP3 -DHAVE_PATCH -DHAVE_XDELTA -DSECONDARY_DJW -DSECONDARY_LZMA -DSECONDARY_FGK -DHAVE_MICROPHONE -DHAVE_REWIND -DHAVE_CHEATS -DHAVE_CORE_INFO_CACHE -DHAVE_SCREENSHOTS -DHAVE_VIDEO_FILTER -DHAVE_DSP_FILTER -DHAVE_NEAREST_RESAMPLER -DHAVE_CONFIGFILE -DHAVE_AUDIOMIXER -DHAVE_BSV_MOVIE -DHAVE_RUNAHEAD -DHAVE_CC_RESAMPLER -DHAVE_LANGEXTRA -DHAVE_IMAGEVIEWER -DHAVE_MAIN -DHAVE_COMMAND -DHAVE_STDIN_CMD -DHAVE_TINYALSA -DHAVE_RWAV -DHAVE_MENU -DHAVE_GFX_WIDGETS -DHAVE_RGUI -DHAVE_MATERIALUI -DHAVE_XMB -DHAVE_OZONE -DHAVE_LAKKA_CANARY=\"\" -DHAVE_OVERLAY -DHAVE_STB_FONT -DHAVE_THREADS -DHAVE_THREAD_STORAGE -DHAVE_LIBDECOR_H -DHAVE_X11 -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_EGL -DHAVE_VULKAN -DHAVE_GLSL -DHAVE_SLANG -DHAVE_GLSLANG -DHAVE_SPIRV_CROSS -DHAVE_7ZIP -D_7ZIP_ST -DHAVE_IBXM -DHAVE_FLAC -DHAVE_ZLIB -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR -DHAVE_CDROM -DHAVE_RTGA -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_VIDEOPROCESSOR -DHAVE_V4L2 -DHAVE_ACCESSIBILITY -DHAVE_NETWORKING -DHAVE_IFINFO -DHAVE_NETWORK_CMD -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_DISCORD -DHAVE_TRANSLATE -DHAVE_FFMPEG -DSR_WITH_XRANDR -DHAVE_COMPRESSION -DHAVE_TEST_DRIVERS -DHAVE_PRESENCE -MMD -c -o obj-unix/release/record/drivers/record_ffmpeg.o record/drivers/record_ffmpeg.c
> record/drivers/record_ffmpeg.c: In function ‘ffmpeg_init_audio’:
> record/drivers/record_ffmpeg.c:304:16: error: ‘AVCodecContext’ has no member named ‘channels’
>   304 |    audio->codec->channels       = param->channels;
>       |                ^~
> record/drivers/record_ffmpeg.c:305:18: error: ‘AVCodecContext’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   305 |    audio->codec->channel_layout = (param->channels > 1)
>       |                  ^~~~~~~~~~~~~~
>       |                  ch_layout
> record/drivers/record_ffmpeg.c:356:22: error: ‘AVCodecContext’ has no member named ‘channels’
>   356 |          audio->codec->channels *
>       |                      ^~
> record/drivers/record_ffmpeg.c: In function ‘encode_audio’:
> record/drivers/record_ffmpeg.c:1345:11: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>  1345 |    frame->channel_layout = handle->audio.codec->channel_layout;
>       |           ^~~~~~~~~~~~~~
>       |           ch_layout
> record/drivers/record_ffmpeg.c:1345:49: error: ‘AVCodecContext’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>  1345 |    frame->channel_layout = handle->audio.codec->channel_layout;
>       |                                                 ^~~~~~~~~~~~~~
>       |                                                 ch_layout
> record/drivers/record_ffmpeg.c:1352:29: error: ‘AVCodecContext’ has no member named ‘channels’
>  1352 |          handle->audio.codec->channels,
>       |                             ^~
> record/drivers/record_ffmpeg.c:1358:29: error: ‘AVCodecContext’ has no member named ‘channels’
>  1358 |          handle->audio.codec->channels,
>       |                             ^~
> make[2]: *** [Makefile:209: obj-unix/release/record/drivers/record_ffmpeg.o] Error 1


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

ffmpeg 7.0 is available in experimental.

Cheers

-- 
Sebastian Ramacher



More information about the Pkg-games-devel mailing list