wallpaper-engine-kde-plugin icon indicating copy to clipboard operation
wallpaper-engine-kde-plugin copied to clipboard

CMake Build Failure

Open SEGFAULT3102 opened this issue 5 months ago • 9 comments

Describe the bug
CMake Build Failure:

[jj_@jonathanjames-precision3560:~/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin$ git submodule update --init --force --recursive Submodule path 'src/backend_scene': checked out '99af81391be0efd30f9af39412c1b66267c6a817' Submodule path 'src/backend_scene/third_party/Eigen': checked out '3147391d946bb4b6c68edd901f2add6ac1f31f8c' Submodule path 'src/backend_scene/third_party/SPIRV-Reflect': checked out 'c6c0f5c9796bdef40c55065d82e0df67c38a29a4' Submodule path 'src/backend_scene/third_party/SPIRV-Reflect/third_party/googletest': checked out '52204f78f94d7512df1f0f3bea1d47437a2c3a58' Submodule path 'src/backend_scene/third_party/glslang': checked out '9db8c369e6f49b5c00376040ba8c0cda6cbb7b4d' Submodule path 'src/backend_scene/third_party/miniaudio': checked out '4a5b74bef029b3592c54b6048650ee5f972c1a48' Submodule path 'src/backend_scene/third_party/nlohmann': checked out '0457de21cffb298c22b629e538036bfeb96130b7' jj_@jonathanjames-precision3560:~/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin$ cmake -B build -S . -GNinja -DUSE_PLASMAPKG=OFF -- Using the multi-header code from /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/third_party/nlohmann/include/ -- Configuring done (0.3s) -- Generating done (0.0s) -- Build files have been written to: /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/build jj_@jonathanjames-precision3560:~/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin$ cmake --build build [3/16] Building CXX object src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o FAILED: src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QMLMETA_LIB -DQT_QMLMODELS_LIB -DQT_QMLWORKERSCRIPT_LIB -DQT_QML_LIB -DQT_QUICK_LIB -I/home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/build/src/backend_mpv/mpvbackend_autogen/include -I/usr/include/x86_64-linux-gnu/qt6/QtGui/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtGui/6.8.3/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtCore/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtCore/6.8.3/QtCore -I/usr/include/x86_64-linux-gnu/qt6/QtDBus/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtDBus/6.8.3/QtDBus -I/home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/. -isystem /usr/include/x86_64-linux-gnu/qt6/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -isystem /usr/include/x86_64-linux-gnu/qt6/QtQml -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlIntegration -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlMeta -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlWorkerScript -isystem /usr/include/x86_64-linux-gnu/qt6/QtOpenGL -O2 -g -DNDEBUG -std=c++20 -fPIC -MD -MT src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o -MF src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o.d -o src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o -c /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp:40:14: fatal error: qpa/qplatformnativeinterface.h: No such file or directory 40 | # include <qpa/qplatformnativeinterface.h> // IWYU pragma: keep | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. [4/16] Automatic MOC and UIC for target wescene-renderer-qml ninja: build stopped: subcommand failed. jj_@jonathanjames-precision3560:~/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin$ cmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON -- Using the multi-header code from /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/third_party/nlohmann/include/ -- Configuring done (0.3s) -- Generating done (0.0s) -- Build files have been written to: /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/build jj_@jonathanjames-precision3560:~/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin$ cmake --build build [1/13] Building CXX object src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o FAILED: src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QMLMETA_LIB -DQT_QMLMODELS_LIB -DQT_QMLWORKERSCRIPT_LIB -DQT_QML_LIB -DQT_QUICK_LIB -I/home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/build/src/backend_mpv/mpvbackend_autogen/include -I/usr/include/x86_64-linux-gnu/qt6/QtGui/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtGui/6.8.3/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtCore/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtCore/6.8.3/QtCore -I/usr/include/x86_64-linux-gnu/qt6/QtDBus/6.8.3 -I/usr/include/x86_64-linux-gnu/qt6/QtDBus/6.8.3/QtDBus -I/home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/. -isystem /usr/include/x86_64-linux-gnu/qt6/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -isystem /usr/include/x86_64-linux-gnu/qt6/QtQml -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlIntegration -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlMeta -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt6/QtQmlWorkerScript -isystem /usr/include/x86_64-linux-gnu/qt6/QtOpenGL -O2 -g -DNDEBUG -std=c++20 -fPIC -MD -MT src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o -MF src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o.d -o src/backend_mpv/CMakeFiles/mpvbackend.dir/MpvBackend.cpp.o -c /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp:40:14: fatal error: qpa/qplatformnativeinterface.h: No such file or directory 40 | # include <qpa/qplatformnativeinterface.h> // IWYU pragma: keep | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. [4/13] Building CXX object src/backend_scene/CMakeFiles/wescene-renderer-qml.dir/qml_helper/SceneBackend.cpp.o In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/QLoggingCategory:1, from /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.hpp:4, from /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:1: /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp: In destructor ‘virtual scenebackend::TextureNode::~TextureNode()’: /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:102:17: warning: too many arguments for format [-Wformat-extra-args] 102 | Q_INFO("Destroy texnode", ""); | ^~~~~~~~~~~~~~~~~ /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:102:9: note: in expansion of macro ‘Q_INFO’ 102 | Q_INFO("Destroy texnode", ""); | ^~~~~~~ /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp: In destructor ‘virtual scenebackend::SceneObject::~SceneObject()’: /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:204:39: warning: too many arguments for format [-Wformat-extra-args] 204 | SceneObject::~SceneObject() { Q_INFO("Destroy sceneobject", ""); } | ^~~~~~~~~~~~~~~~~~~~~ /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:204:31: note: in expansion of macro ‘Q_INFO’ 204 | SceneObject::~SceneObject() { Q_INFO("Destroy sceneobject", ""); } | ^~~~~~~ /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp: In member function ‘virtual void scenebackend::SceneObject::mouseMoveEvent(QMouseEvent*)’: /home/jj/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:314:31: warning: ‘QPointF QMouseEvent::localPos() const’ is deprecated: Use position() [-Wdeprecated-declarations] 314 | auto pos = event->localPos(); | ~~~~~~~~~~~~~~~^~ In file included from /usr/include/x86_64-linux-gnu/qt6/QtQuick/qquickitem.h:14, from /usr/include/x86_64-linux-gnu/qt6/QtQuick/QQuickItem:1, from /usr/include/x86_64-linux-gnu/qt6/QtQuick/qquickframebufferobject.h:7, from /usr/include/x86_64-linux-gnu/qt6/QtQuick/QQuickFramebufferObject:1, from /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.hpp:3: /usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:236:13: note: declared here 236 | QPointF localPos() const { return position(); } | ^~~~~~~~ /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp: In member function ‘virtual void scenebackend::SceneObject::hoverMoveEvent(QHoverEvent*)’: /home/jj_/wallpaper-engine-kde-plugin/wallpaper-engine-kde-plugin/src/backend_scene/qml_helper/SceneBackend.cpp:319:27: warning: ‘QPointF QHoverEvent::posF() const’ is deprecated: Use position() [-Wdeprecated-declarations] 319 | auto pos = event->posF(); | ~~~~~~~~~~~^~ /usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:267:20: note: declared here 267 | inline QPointF posF() const { return position(); } | ^~~~ ninja: build stopped: subcommand failed.]

System Information

  • Kde: 6.34
  • Qt: [6.12.0]
  • OS: Kubuntu 25.04
  • Installation Source: [KDE Plugins]
  • Wallpaper Engine version: [2.6.21]

Additional context
Add any other context about the problem here. [e.g. screenshots/logs]

SEGFAULT3102 avatar Jul 23 '25 05:07 SEGFAULT3102

Bumping, I have a similar CMake build issue. @SEGFAULT3102 , the KDE plugin on the store is ported by Slynobody. I'm unsure if that would have anything to do with it, but I do not have it installed on my system, for context. Are you sure you have Qt 6.12? That seems to be the number for the KDE Frameworks version.

System Information

  • KDE: 6.34
  • Qt: 6.8.3
  • OS: Kubuntu 25.04
  • Installation Source: Github
  • Wallpaper Engine Version: 2.6.21

Describe the bug

Building always fails at [114/134] for me, with log

[114/134] Building CXX object src/backend_scene/...keFiles/wescene-renderer.dir/WPSceneParser.cpp.o
ninja: build stopped: subcommand failed.
-- Install configuration: "RelWithDebInfo"
CMake Error at build/src/cmake_install.cmake:62 (file):
  file cannot create directory:
  /usr/lib/x86_64-linux-gnu/qt6/qml/com/github/catsout/wallpaperEngineKde.
  Maybe need administrative privileges.
Call Stack (most recent call first):
  build/cmake_install.cmake:47 (include)

I attempted with sudo, but it fails at the exact same point.

Additional Context Do not sudo. I was testing. Ironically, it still seems to "install," but I do not trust being without those last twenty components.

vineberry avatar Jul 23 '25 18:07 vineberry

Image Yes, I believe that is my QT version.

EDIT: I misread.

SEGFAULT3102 avatar Jul 23 '25 23:07 SEGFAULT3102

Got WallpaperEngine running on my system via the debian package for plugin lib [https://github.com/slynobody/SteamOS-wallpaper-engine-kde-plugin/releases/tag/0.5.5c], CMAKE build failure still unresolved.

SEGFAULT3102 avatar Jul 23 '25 23:07 SEGFAULT3102

Segfault, if possible, could you uninstall slynobody's plugin via apt and the deb package in Discover? Temporarily, I mean. After which, please log out and log back in to clear any stragglers that might still be loaded. After which, please try building from source and see where it ends off.

It likely won't build still, but it would be interesting to see if the CMake Build Failure changes.

vineberry avatar Jul 27 '25 16:07 vineberry

bumping, seeming to have the same issue as everyone else in this thread :pensive:

System Information

  • KDE: 6.4.3
  • QT: 6.9.1
  • OS: Arch 6.15.8 (zen kernel)
  • Install source: KDE Store
  • Wallpaper Engine version: 2.6.21

Describe the bug:

building fails at 134/134

In file included from /usr/include/qt6/QtCore/qlocale.h:7,
                 from /usr/include/qt6/QtCore/qcalendar.h:10,
                 from /usr/include/qt6/QtCore/qdatetime.h:8,
                 from /usr/include/qt6/QtCore/qcborvalue.h:10,
                 from /usr/include/qt6/QtCore/qjsonvalue.h:7,
                 from /usr/include/qt6/QtCore/qjsonobject.h:7,
                 from /usr/include/qt6/QtCore/qplugin.h:14,
                 from /usr/include/qt6/QtQml/qqmlextensionplugin.h:7,
                 from /usr/include/qt6/QtQml/QQmlExtensionPlugin:1,
                 from /home/carl/wallpaper-engine-kde-plugin/src/plugin.cpp:1:
/usr/include/qt6/QtCore/qvariant.h:432:10: note: declared here
  432 |     Type type() const
      |          ^~~~
[134/134] Linking CXX shared library src/libWallpaperEngineKde.so
-- Install configuration: "RelWithDebInfo"
CMake Error at build/src/cmake_install.cmake:62 (file):
  file cannot create directory:
  /usr/lib/qt6/qml/com/github/catsout/wallpaperEngineKde.  Maybe need
  administrative privileges.
Call Stack (most recent call first):
  build/cmake_install.cmake:47 (include)

package also weirdly caused me to have kernel panic so beware?

carl7879 avatar Jul 31 '25 09:07 carl7879

(Random driveby person here)

Looks like 'sudo cmake ..' needed not just 'cmake ..' would do the trick; or are you expecting a pure homedir install?

skeezix avatar Aug 01 '25 17:08 skeezix

Sudo does not complete it, either. I attempted it as a test in my install, it crashes at the exact same point for me.

If anyone here attempts it, please make sure to have a Timeshift of prior installed. You will have issues.

vineberry avatar Aug 01 '25 18:08 vineberry

The problem occurs on the latest version of Qt6. I referenced a workaround patch from here. Manually define Qt6Gui_PRIVATE_INCLUDE_DIRS CMake variable and send a PR #547

matrikslee avatar Nov 01 '25 11:11 matrikslee

Using newly installed Arch, following installation steps in readme.md, could not find qpa/qplatformnativeinterface.h.

But actually there is such file:

find /usr -name "qplatformnativeinterface.h" 2>/dev/null
/usr/include/qt6/QtGui/6.10.0/QtGui/qpa/qplatformnativeinterface.h
/usr/include/qt/QtGui/5.15.18/QtGui/qpa/qplatformnativeinterface.h

Couldn't get it. Huge thanks if anyone can help.

rong-xiaoli avatar Nov 17 '25 06:11 rong-xiaoli