[Pkg-kde-extras] Bug#1072453: subtitlecomposer: FTBFS with ffmpeg 7.0: streamprocessor.cpp:277:25: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
Sebastian Ramacher
sramacher at debian.org
Sun Jun 2 14:26:37 BST 2024
Source: subtitlecomposer
Version: 0.8.0-2
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/src && /usr/bin/c++ -DKCOREADDONS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_DEFAULT_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/src -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/src/subtitlecomposer-lib_autogen/include -I/<<PKGBUILDDIR>>/src/widgets -I/usr/include/AL -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets/5.15.13 -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets/5.15.13/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.15.13 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.15.13/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.15.13 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.15.13/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/Sonnet -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/SonnetCore -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KIO -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/aarch64-linux-gnu/qt5/QtDBus -isystem /usr/include/aarch64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/KF5/KIOFileWidgets -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOGui -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/Solid -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KBookmarks -isystem /usr/include/aarch64-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuthWidgets -isystem /usr/include/KF5/KAuthCore -isystem /usr/include/KF5/KAuth -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -std=gnu++11 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -MD -MT src/CMakeFiles/subtitlecomposer-lib.dir/translate/translatedialog.cpp.o -MF CMakeFiles/subtitlecomposer-lib.dir/translate/translatedialog.cpp.o.d -o CMakeFiles/subtitlecomposer-lib.dir/translate/translatedialog.cpp.o -c /<<PKGBUILDDIR>>/src/translate/translatedialog.cpp
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp: In member function ‘bool SubtitleComposer::StreamProcessor::initAudio(int, const WaveFormat&)’:
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:277:25: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 277 | if(!m_codecCtx->channel_layout)
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:278:29: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 278 | m_codecCtx->channel_layout = av_get_default_channel_layout(m_codecCtx->channels);;
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:278:88: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
> 278 | m_codecCtx->channel_layout = av_get_default_channel_layout(m_codecCtx->channels);;
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:278:46: error: ‘av_get_default_channel_layout’ was not declared in this scope
> 278 | m_codecCtx->channel_layout = av_get_default_channel_layout(m_codecCtx->channels);;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:281:61: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
> 281 | m_audioStreamFormat.setChannels(m_codecCtx->channels);
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:282:52: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 282 | m_audioChannelLayout = m_codecCtx->channel_layout;
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:284:40: error: ‘av_get_default_channel_layout’ was not declared in this scope
> 284 | m_audioChannelLayout = av_get_default_channel_layout(m_audioStreamFormat.channels());
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:288:47: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 288 | const bool convChannels = m_codecCtx->channel_layout != m_audioChannelLayout;
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:294:37: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 294 | m_codecCtx->channel_layout, m_codecCtx->sample_fmt, m_codecCtx->sample_rate,
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:292:32: error: ‘swr_alloc_set_opts’ was not declared in this scope; did you mean ‘swr_alloc_set_opts2’?
> 292 | m_swResample = swr_alloc_set_opts(nullptr,
> | ^~~~~~~~~~~~~~~~~~
> | swr_alloc_set_opts2
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp: In member function ‘void SubtitleComposer::StreamProcessor::processAudio()’:
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:366:33: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 366 | frameResampled->channel_layout = m_audioChannelLayout;
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:434:59: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘pkt_duration’; did you mean ‘duration’?
> 434 | if(frame->pkt_duration)
> | ^~~~~~~~~~~~
> | duration
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:435:84: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘pkt_duration’; did you mean ‘duration’?
> 435 | timeFrameDuration = frame->pkt_duration * 1000 * m_avStream->time_base.num / m_avStream->time_base.den;
> | ^~~~~~~~~~~~
> | duration
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:451:133: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channels’
> 451 | emit audioDataAvailable(frameResampled->data[0], qint32(frameSize * frameResampled->channels),
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/streamprocessor/streamprocessor.cpp:456:115: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channels’
> 456 | emit audioDataAvailable(frame->data[0], qint32(frameSize * frame->channels),
> | ^~~~~~~~
> make[3]: *** [src/CMakeFiles/subtitlecomposer-lib.dir/build.make:1530: src/CMakeFiles/subtitlecomposer-lib.dir/streamprocessor/streamprocessor.cpp.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/subtitlecomposer_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
More information about the pkg-kde-extras
mailing list