Hello,

I am submitting this email because I am not sure, whether there is a mistake
in the dependency list of the debian / raspbian bullseye package 
qml-module-qtquick-dialogs:

During the process of contributing to an open source project, I am asked to add 
the package
qml-module-qtquick-controls to my installation script.
I have not been aware that I needed that package, since it had been 
autoinstalled on my system by qt5-quick-demos.
I am running raspbian bullseye on a Raspberry Pi 4.
After removing qt5-quick-demos, I got the following error from the qml resource 
compiler:

QQmlApplicationEngine failed to load component
qrc:/launcher/qml/main.qml:438:5: Type MessageDialog unavailable
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick/Dialogs/DefaultMessageDialog.qml:41:1:
 module "QtQuick.Controls" version 1.2 is not installed

That is, because I added these lines to my main.qml programm:

import QtQuick.Dialogs 1.1

    MessageDialog {
        id: messageBox
        title: window.title
        icon: StandardIcon.Critical
        modality: Qt.ApplicationModal
    }

And I installed the package qml-module-qtquick-dialogs.

To investigate the problem, I made sure, that the mentioned file is from the 
dialogs package (see [1]) and
that it really imports QtQuick.Controls 1.2 (see [2])

To get the program running, I need to install the module 
qml-module-qtquick-controls

The question that remains for me is:
Why do I have to install the controls package manually, when wanting to use 
QtQuick.Dialogs?
I would have expected to have it already automatically installed with 
qml-module-qtquick-dialogs.

Is qml-module-qtquick-controls a missing dependency to that package?
Because it is not mentioned in the dependency list of it (see [3]).

I hope, that this is useful to you.

Kind regards,

purewasa


Footnotes:
----------

[1] $ dpkg -S DefaultMessageDialog.qml
qml-module-qtquick-dialogs:armhf: 
/usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick/Dialogs/DefaultMessageDialog.qmlc
qml-module-qtquick-dialogs:armhf: 
/usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick/Dialogs/DefaultMessageDialog.qml

[2] $ less -N 
/usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick/Dialogs/DefaultMessageDialog.qml
     40 import QtQuick 2.2
     41 import QtQuick.Controls 1.2
     42 import QtQuick.Controls.Private 1.0
     43 import QtQuick.Dialogs 1.1
     44 import QtQuick.Window 2.1
     45 import "qml"


[3] $ apt show qml-module-qtquick-dialogs
Package: qml-module-qtquick-dialogs
Version: 5.15.2-2
Priority: optional
Section: libs
Source: qtquickcontrols-opensource-src
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Installed-Size: 598 kB
Depends: qml-module-qt-labs-folderlistmodel, qml-module-qt-labs-settings, 
qml-module-qtqml, qml-module-qtquick-privatewidgets, 
qml-module-qtquick-window2, libqt5qml5 (<< 5.15.3~), libqt5qml5 (>= 
5.15.2+dfsg~), libc6 (>= 2.4), libgcc-s1 (>= 3.5), libqt5core5a (>= 
5.15.2+dfsg~), libqt5gui5 (>= 5.15.2+dfsg~) | libqt5gui5-gles (>= 
5.15.2+dfsg~), libqt5quick5 (>= 5.15.2+dfsg~) | libqt5quick5-gles (>= 
5.15.2+dfsg~), libstdc++6 (>= 5), qtbase-abi-5-15-2, qtdeclarative-abi-5-15-2
Homepage: https://doc.qt.io/qt-5/qtquickcontrols1-index.html
Download-Size: 114 kB
APT-Manual-Installed: yes
APT-Sources: http://raspbian.raspberrypi.org/raspbian bullseye/main armhf 
Packages
Description: Qt 5 Dialogs QML module
 Qt is a cross-platform C++ application framework. Qt's primary feature
 is its rich set of widgets that provide standard GUI functionality.
 .
 This package provides various dialogs that can be used in Qt Quick.


Reply via email to