For ARM archs in openSUSE, qtbase is built with gles. kdenlive fails to build because the QOpenGLFunctions_3_2_Core header isn't present in this case. it only has QOpenGLFunctions_ES2. [ 347s] FAILED: src/CMakeFiles/kdenliveLib.dir/monitor/videowidget.cpp.o [ 347s] /usr/bin/c++ -DKCOREADDONS_LIB -DKF_DEPRECATED_WARNINGS_SINCE=0x60000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x5f000 -DKGUIADDONS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS_SINCE=0x60000 -DQT_DISABLE_DEPRECATED_BEFORE=0x50f02 -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORKAUTH_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_STRICT_ITERATORS -DQT_SVGWIDGETS_LIB -DQT_SVG_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdenlive\" -DUSE_JOGSHUTTLE -DUSE_V4L -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/build/src -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/build/src/kdenliveLib_autogen/include -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/build -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/lib/external -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/lib -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/build/src/lib/external/kiss_fft -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/lib/external/kiss_fft -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/build/src/lib/external/media_ctrl -I/home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/lib/external/media_ctrl -isystem /usr/include/mlt-7 -isystem /usr/include/KF6/KWidgetsAddons -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib64/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/KF6/KArchive -isystem /usr/include/KF6/KCoreAddons -isystem /usr/include/KF6/KIOCore -isystem /usr/include/KF6/KIO -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtDBus -isystem /usr/include/KF6/KCodecs -isystem /usr/include/KF6/KIOFileWidgets -isystem /usr/include/KF6/KIOWidgets -isystem /usr/include/KF6/KIOGui -isystem /usr/include/KF6/KConfig -isystem /usr/include/KF6/KConfigCore -isystem /usr/include/KF6/KService -isystem /usr/include/KF6/KJobWidgets -isystem /usr/include/KF6/Solid -isystem /usr/include/KF6/KCompletion -isystem /usr/include/KF6/KBookmarks -isystem /usr/include/qt6/QtXml -isystem /usr/include/KF6/KItemViews -isystem /usr/include/KF6/KNotifyConfig -isystem /usr/include/KF6/KXmlGui -isystem /usr/include/KF6/KConfigWidgets -isystem /usr/include/KF6/KConfigGui -isystem /usr/include/KF6/KColorScheme -isystem /usr/include/KF6/KGuiAddons -isystem /usr/include/KF6/KNotifications -isystem /usr/include/KF6/KTextWidgets -isystem /usr/include/KF6/SonnetUi -isystem /usr/include/KF6/Sonnet -isystem /usr/include/KF6/KI18n -isystem /usr/include/KF6/KIconThemes -isystem /usr/include/KF6/KFileMetaData -isystem /usr/include/KF6/Purpose -isystem /usr/include/KF6/PurposeWidgets -isystem /usr/include/KF6/KNewStuffWidgets -isystem /usr/include/KF6/KNewStuff -isystem /usr/include/KF6/KNewStuffCore -isystem /usr/include/KF6/Attica -isystem /usr/include/qt6/QtSvg -isystem /usr/include/qt6/QtQuick -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtQmlModels -isystem /usr/include/qt6/QtOpenGL -isystem /usr/include/qt6/QtQuickControls2 -isystem /usr/include/qt6/QtQuickWidgets -isystem /usr/include/qt6/QtConcurrent -isystem /usr/include/qt6/QtMultimedia -isystem /usr/include/qt6/QtNetworkAuth -isystem /usr/include/qt6/QtSvgWidgets -isystem /usr/include/KF6/KDBusAddons -mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -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 -pedantic -Wzero-as-null-pointer-constant -Wmissing-include-dirs -fdiagnostics-color=always -O2 -g -DNDEBUG -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT src/CMakeFiles/kdenliveLib.dir/monitor/videowidget.cpp.o -MF src/CMakeFiles/kdenliveLib.dir/monitor/videowidget.cpp.o.d -o src/CMakeFiles/kdenliveLib.dir/monitor/videowidget.cpp.o -c /home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/monitor/videowidget.cpp [ 347s] /home/abuild/rpmbuild/BUILD/kdenlive-24.02.0/src/monitor/videowidget.cpp:18:10: fatal error: QOpenGLFunctions_3_2_Core: No such file or directory [ 347s] 18 | #include <QOpenGLFunctions_3_2_Core>
Note: relying in QT_CONFIG(opengl) doesn't help in this case, see eg https://codereview.qt-project.org/c/pyside/pyside-setup/+/473896 for the explanation
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/kdenlive/-/merge_requests/513
Git commit c8efd29521ce1a945e29e134364c2aeb0e1b76d3 by Christophe Marin. Committed on 28/05/2024 at 12:00. Pushed by krop into branch 'release/24.05'. Fix build when using openGLES If qtbase is built using openGLES instead of openGL, functions are available in the QOpenGLFunctions_ES2 header. FIXED-IN: 24.05.1 M +4 -0 src/monitor/openglvideowidget.cpp M +4 -0 src/monitor/videowidget.cpp https://invent.kde.org/multimedia/kdenlive/-/commit/c8efd29521ce1a945e29e134364c2aeb0e1b76d3