Bug 454062 - Installing plasma-framework breaks qmlplugindump on kde modules
Summary: Installing plasma-framework breaks qmlplugindump on kde modules
Status: RESOLVED FIXED
Alias: None
Product: libplasma
Classification: Frameworks and Libraries
Component: components (other bugs)
Version First Reported In: 5.94.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-19 21:58 UTC by Antonio Rojas
Modified: 2025-01-06 11:55 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2022-05-19 21:58:48 UTC
Simply having plasma-framework installed breaks running qmlplugindump on kde modules such as org.kde.kirigami or org.kde.kcm:

$ qmlplugindump org.kde.kirigami 2.5
[...]
file:///loaddependencies.qml:24:1: module "org.kde.plasma.plasmoid" is not installed
$ echo $?
3

This breaks, in particular, cmake detection of QML modules, which uses qmlplugindump internally.
Bisected to c3363a5c5827a90b140ca241626f02cd5faf1e88
Comment 1 Patrick Silva 2022-05-20 13:05:23 UTC
is bug 454066 a duplicate?
Comment 2 Antonio Rojas 2022-05-20 16:38:05 UTC
(In reply to Patrick Silva from comment #1)
> is bug 454066 a duplicate?

No, 454066 is a regression from porting the plugins to json. Not related to this.
Comment 3 A. Wilcox (awilfox) 2022-06-06 01:40:39 UTC
Seeing this bumping Adélie's packages to 5.94.0.  Building KWin hangs on qmlplugindump for a few seconds, then it returns:

-- Found QtQuick-QMLModule: TRUE (found version "")  
-- qmlplugindump failed for QtQuick.Controls.
-- Could NOT find QtQuick.Controls-QMLModule (missing: QtQuick.Controls-QMLModule_FOUND) 
-- Found QtQuick.Layouts-QMLModule: TRUE (found version "")  
-- Found QtQuick.Window-QMLModule: TRUE (found version "")  
-- Found QtMultimedia-QMLModule: TRUE (found version "")  
-- Found org.kde.kquickcontrolsaddons-QMLModule: TRUE (found version "")  
-- qmlplugindump failed for org.kde.plasma.core.
-- Could NOT find org.kde.plasma.core-QMLModule (missing: org.kde.plasma.core-QMLModule_FOUND) 
-- qmlplugindump failed for org.kde.plasma.components.
-- Could NOT find org.kde.plasma.components-QMLModule (missing: org.kde.plasma.components-QMLModule_FOUND) 


Running qmlplugindump manually I see:

awilcox on gwyn ~/Code/awilfox/user-next/user/kwin/src/kwin-5.24.5 % /usr/lib/qt5/bin/qmlplugindump QtQuick.Controls 1.2
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-awilcox'
Found a dependency on org.kde.plasma.components with two major versions:2.0 and 3.0 which is unsupported, discarding smaller version
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x3fffb25f5d00), parent's thread is QThread(0x3fffb25f5d20), current thread is QThread(0x3fffb2616900)
QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Could not find any platform plugin
QQmlComponent: Component is not ready
file:///loaddependencies.qml:24:1: module "org.kde.plasma.plasmoid" is not installed
Comment 4 Bernhard Rosenkränzer 2022-09-12 16:33:29 UTC
Still happens in 5.98.0
Comment 5 Bernhard Rosenkränzer 2022-09-12 16:38:47 UTC
Cc author of commit c3363a5c5827a90b140ca241626f02cd5faf1e88
Comment 6 Bug Janitor Service 2022-09-13 14:17:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/600
Comment 7 Bernhard Rosenkränzer 2022-09-13 16:47:31 UTC
Confirmed fixed with https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/600
Comment 8 Antonio Rojas 2022-09-13 17:56:40 UTC
The fix isn't merged yet, and in fact it is marked as WIP
Comment 9 Aleix Pol 2022-09-23 14:31:43 UTC
Git commit 123a741cfde363c7dc631b29d877ae42a2aaf37c by Aleix Pol.
Committed on 23/09/2022 at 13:00.
Pushed by apol into branch 'master'.

Install a plugin for org.kde.plasma.plasmoid

Allows tooling to introspect what the module does.

This used to be done through DeclarativeAppletScript, which limited the
possibilities of our tooling.

M  +2    -0    CMakeLists.txt
M  +34   -8    src/scriptengines/qml/CMakeLists.txt
M  +1    -1    src/scriptengines/qml/plasmoid/appletinterface.h
M  +1    -1    src/scriptengines/qml/plasmoid/containmentinterface.h
M  +2    -16   src/scriptengines/qml/plasmoid/declarativeappletscript.cpp
M  +2    -1    src/scriptengines/qml/plasmoid/declarativeappletscript.h
A  +12   -0    src/scriptengines/qml/plasmoid/declarativeappletscriptplugin.cpp     [License: LGPL(v2.0+)]
A  +28   -0    src/scriptengines/qml/plasmoid/plasmoidplugin.cpp     [License: LGPL(v2.0+)]
M  +2    -1    src/scriptengines/qml/plasmoid/wallpaperinterface.h

https://invent.kde.org/frameworks/plasma-framework/commit/123a741cfde363c7dc631b29d877ae42a2aaf37c
Comment 10 Antonio Rojas 2022-10-09 21:09:41 UTC
Reopening since the fix has been reverted.
Comment 12 Antonio Rojas 2025-01-06 11:55:08 UTC
No longer reproducible with Plasma 6