Bug 478741

Summary: ksystemstats daemon.cpp:32:10: fatal error: 'ksystemstatsadaptor.h' file not found
Product: [Applications] plasma-systemmonitor Reporter: Mike Lothian <mike>
Component: generalAssignee: KSysGuard Developers <ksysguard-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: ahiemstra, plasma-bugs-null, putr4.s
Priority: NOR    
Version First Reported In: master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Mike Lothian 2023-12-19 21:08:47 UTC
FAILED: src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o 
/usr/lib/llvm/17/bin/clang++ -DKCOREADDONS_LIB -DKF_DEPRECATED_WARNINGS_SINCE=0x60000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x56500 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS_SINCE=0x60000 -DQT_DISABLE_DEPRECATED_BEFORE=0x50f02 -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build/src -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build/src/ksystemstats_core_autogen/include -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib64/qt6/mkspecs/linux-clang -isystem /usr/include/qt6/QtDBus -isystem /usr/include/KF6/KCoreAddons -isystem /usr/include/KF6/KDBusAddons -isystem /usr/include/ksysguard -isystem /usr/include/qt6/QtGui -isystem /usr/include/KF6/KI18n  -DQT_NO_DEBUG -O3 -pipe -flto=thin -march=native -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -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 -fdiagnostics-color=always -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -MD -MT src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o -MF src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o.d -o src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o -c /var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp
/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp:32:10: fatal error: 'ksystemstatsadaptor.h' file not found
   32 | #include "ksystemstatsadaptor.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

I'm not sure what generates that file, if I remove the include I get the following compile errors:

FAILED: src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o 
/usr/lib/llvm/17/bin/clang++ -DKCOREADDONS_LIB -DKF_DEPRECATED_WARNINGS_SINCE=0x60000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x56500 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS_SINCE=0x60000 -DQT_DISABLE_DEPRECATED_BEFORE=0x50f02 -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build/src -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build/src/ksystemstats_core_autogen/include -I/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999_build -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib64/qt6/mkspecs/linux-clang -isystem /usr/include/qt6/QtDBus -isystem /usr/include/KF6/KCoreAddons -isystem /usr/include/KF6/KDBusAddons -isystem /usr/include/ksysguard -isystem /usr/include/qt6/QtGui -isystem /usr/include/KF6/KI18n  -DQT_NO_DEBUG -O3 -pipe -flto=thin -march=native -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -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 -fdiagnostics-color=always -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -MD -MT src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o -MF src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o.d -o src/CMakeFiles/ksystemstats_core.dir/daemon.cpp.o -c /var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp
/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp:46:9: error: unknown type name 'KsystemstatsAdaptor'
   46 |     new KsystemstatsAdaptor(this);
      |         ^
/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp:165:51: error: member access into incomplete type 'const QDBusMessage'
  165 |     const QString sender = QDBusContext::message().service();
      |                                                   ^
/usr/include/qt6/QtDBus/qdbuserror.h:18:7: note: forward declaration of 'QDBusMessage'
   18 | class QDBusMessage;
      |       ^
/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp:178:51: error: member access into incomplete type 'const QDBusMessage'
  178 |     const QString sender = QDBusContext::message().service();
      |                                                   ^
/usr/include/qt6/QtDBus/qdbuserror.h:18:7: note: forward declaration of 'QDBusMessage'
   18 | class QDBusMessage;
      |       ^
/var/tmp/portage/kde-plasma/ksystemstats-9999/work/ksystemstats-9999/src/daemon.cpp:224:9: error: use of undeclared identifier 'QCoreApplication'
  224 |         QCoreApplication::quit();
      |         ^
4 errors generated.
Comment 1 Prajna Sariputra 2023-12-20 04:43:42 UTC
For what it's worth starting from a previously working ksystemstats and updating to latest git master still compiles, but no sensors at all are working. Clearing the build folder for ksystemstats (and libksysguard, not sure if that matters) resulted in the same ksystemstatsadaptor.h file not found error.

I'm on Arch Linux, using kdesrc-build to compile Plasma 6.
Comment 2 Luca Beltrame 2023-12-20 06:49:28 UTC
Git commit 23d32490d626eee8f7b2115b31146fece21b5517 by Luca Beltrame.
Committed on 20/12/2023 at 07:48.
Pushed by lbeltrame into branch 'master'.

Adjust naming of the generated classes

Since the DBus interface file changed, the names of the generated
classes also changed. Adjust accordingly.

M  +2    -2    src/daemon.cpp

https://invent.kde.org/plasma/ksystemstats/-/commit/23d32490d626eee8f7b2115b31146fece21b5517