https://bugs.kde.org/show_bug.cgi?id=385136
Bug ID: 385136 Summary: Missing dependencies for autotests Product: kwin Version: 5.10.4 Platform: unspecified OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: core Assignee: kwin-bugs-n...@kde.org Reporter: h.goe...@crazy-compilers.com Target Milestone: --- When building kwin autotests for guix[1], building the following autotests fail: - testScriptedEffectLoader - testTabBoxClientModel - testTabBoxHandler The reasons are missing dependencies in autotests/CMakeLists.txt resp. autotests/tabbox/CMakeLists.txt. [1] https://www.gnu.org/software/guix/ Proposed solution ~~~~~~~~~~~~~~~~~~~~ 1) In autotests/CMakeLists.txt: - add "Qt5::Qml" to target_link_libraries(testScriptedEffectLoader 2) In autotests/tabbox/CMakeLists.txt: - add "Qt5::Script" to target_link_libraries(testTabBoxClientModel - add "Qt5::Script" to target_link_libraries(testTabBoxHandler Detailed description and Analysis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ guix (like nix) used a separate prefix for each package. Thus the header files for qtdeclarative are in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/ while the ones for qtbase are in /gnu/store/…-base-5.9.1/include/qt5/. This means that *each* dependency's include directory must be specified. This is in contrast to a "normal" Unix-system, where all includes end up in /usr/include/qt5 and missing to defined some include-dependencies does often not raise an error. When building `testScriptedEffectLoader` this fails with: /tmp/guix-build-kwin-5.10.4.drv-0/kwin-5.10.4/scripting/workspace_wrapper.h:29:34: fatal error: QtQml/QQmlListProperty: No such file or directory This line and the one in front read: #include <QRect> #include <QtQml/QQmlListProperty> The included files exists in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/, but the command line is missing `-isystem /gnu/store/…-qtdeclarative-5.9.1/include/qt5/". The reason for this is: Qt5::Qml is not defined as a dependency for `testScriptedEffectLoader` in autotests/CMakeLists.txt. Analogous for testTabBoxClientModel and testTabBoxHandler. How to reproduce ~~~~~~~~~~~~~~~~~~~~~ The easiest way would be to test this in guix, but I'm just working on packaging Plasma for guix and am not finished. I'll update this ticket when finished. -- You are receiving this mail because: You are watching all bug changes.