Building KWin: missing a dependency

Hi! I am setting up a building environment for KDE6/Plasma on OpenSUSE Tumbleweed. KWin fails to build because of the missing Qt6QmlCompilerPlusPrivate package. I did not build Qt6 from source but rather used the one supplied in the OpenSUSE repos, but I cannot find this particular module. I installed the following package installed already: qt6-qmlcompiler-private-devel, but the problem still persists. Any idea how I can find it?

I have another related question. The kdesrc-build environment I’m setting up is in a distrobox container, because I don’t want to pollute my main installation with a whole lot of KDE build dependencies. This allows to run KDE apps, but I don’t think I can launch a KDE Plasma session. Is there a way of building and running Plasma without affecting the base system?

Please paste the full build log in code tags here or on a pastebin and provide a link.

That’s not why it fails to build, there must be a different error

@Justin @nicolasfella Thanks, you guys are best! I didn’t inspect the log carefully, the missing dependency was in fact libdisplay-info and hidden in the middle of the log. KWin was built successfully now, however I don’t think I can run plasma session from within a container anyway?

1 Like

I think you can but there’s some stuff you have to do to make it work. If you’re trying to build from source and/or develop, using kdesrc-build is usually the best way.

Yes, I am already using kdesrc-build: I successfully ran ./kdesrc-build plasma-desktop. I then modified plasmawayland-dev6.desktop to enter the distrobox container:

[Desktop Entry]
Exec=/usr/bin/distrobox-enter -n kde6 -- /home/eldar/kde6/usr/lib64/libexec/plasma-dbus-run-session-if-needed /home/eldar/kde6/usr/lib64/libexec/ -wayland

However when I try to log into the Wayland session nothing happens and it jumps back into SDDM login prompt. Is there a way to display the error logs of what is happening when SDDM launches a desktop session? I suspect it might be due to DBus not accessible from within the container.