Bug 451756

Summary: KF5::CoreAddons missing from deps, unfound due to recent frameworks changes
Product: [Applications] kmix Reporter: Duncan <1i5t5.duncan>
Component: generalAssignee: Christian Esken <esken>
Status: RESOLVED FIXED    
Severity: normal CC: asturm, unassigned-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=451754
https://bugs.kde.org/show_bug.cgi?id=451751
https://bugs.kde.org/show_bug.cgi?id=451752
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: add dep KF5::CoreAddons (works but likely not entirely correct)

Description Duncan 2022-03-21 03:41:43 UTC
+++ This bug was initially created as a clone of Bug #451751 +++
Due to recent frameworks changes kcoreaddons is no longer found and kmix won't build.  See bug # 451556 for additional detail.

git-master isn't an option in the version field above so I couldn't select it.  frameworks/plasma/apps all git-master using the live-git ebuilds from the gentoo/kde overlay.

kmix's CMakeFiles.txt is somewhat more complex than the games I submitted trivial patches for and not being a dev (more a gentoo user/sysadmin) I've not come up with a patch yet, but there are two errors, both apparently related to components of kcoreaddons (kaboutdata and kprocess):

FAILED: CMakeFiles/kmix.dir/apps/main.cpp.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DHAVE_LIBASOUND2 -DKCONFIGWIDGETS_NO_KAUTH -DKMIX_CONFIG_VERSION=3 -DKMIX_VERSION=\"22.07.70\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kmix\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999_build -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999 -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999_build/kmix_autogen/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5 -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KGlobalAccel -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KNotifications -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KDBusAddons  -DQT_NO_DEBUG -march=native -O2 -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -fdiagnostics-color -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 -fdiagnostics-color=always -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -MD -MT CMakeFiles/kmix.dir/apps/main.cpp.o -MF CMakeFiles/kmix.dir/apps/main.cpp.o.d -o CMakeFiles/kmix.dir/apps/main.cpp.o -c /tmp/portage/kde-apps/kmix-9999/work/kmix-9999/apps/main.cpp
/tmp/portage/kde-apps/kmix-9999/work/kmix-9999/apps/main.cpp:25:10: fatal error: kaboutdata.h: No such file or directory
25 | #include <kaboutdata.h>
|          ^~~~~~~~~~~~~~
compilation terminated.


FAILED: CMakeFiles/kmix.dir/apps/kmixwindow.cpp.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DHAVE_LIBASOUND2 -DKCONFIGWIDGETS_NO_KAUTH -DKMIX_CONFIG_VERSION=3 -DKMIX_VERSION=\"22.07.70\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kmix\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999_build -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999 -I/tmp/portage/kde-apps/kmix-9999/work/kmix-9999_build/kmix_autogen/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5 -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KGlobalAccel -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KNotifications -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KDBusAddons  -DQT_NO_DEBUG -march=native -O2 -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -fdiagnostics-color -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 -fdiagnostics-color=always -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -MD -MT CMakeFiles/kmix.dir/apps/kmixwindow.cpp.o -MF CMakeFiles/kmix.dir/apps/kmixwindow.cpp.o.d -o CMakeFiles/kmix.dir/apps/kmixwindow.cpp.o -c /tmp/portage/kde-apps/kmix-9999/work/kmix-9999/apps/kmixwindow.cpp
/tmp/portage/kde-apps/kmix-9999/work/kmix-9999/apps/kmixwindow.cpp:40:10: fatal error: KProcess: No such file or directory
40 | #include <KProcess>
|          ^~~~~~~~~~
compilation terminated.
Comment 1 Duncan 2022-03-21 04:11:16 UTC
Created attachment 147642 [details]
add dep KF5::CoreAddons (works but likely not entirely correct)

So this hack-patch works, but likely isn't entirely correct.  I've no idea whether all three chunks are necessary and for the first one, if it's necessary at all, whether the add should be under public or private.  I just know it gets the thing building again for me.  So it's attached as a POC.
Comment 2 Duncan 2022-03-29 08:55:49 UTC
Hmm.  Seems it's related to the recent kauth changes.  On gentoo and if I USE=auth emerge kconfigwidgets, kmix then builds without the patch.  But with USE=-auth kconfigwidgets, it requires the patch.

So it's an indirect dependency taken care of by kconfigwidgets, but ONLY if kconfigwidgets is build with kauth support turned on.  If kconfigwidgets is built with kauth support turned off, it doesn't indirectly provide the kcoreaddons deps and kmix needs to know where to find them itself.