Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing qt libraries on recent open suse tumbleweed #1278

Closed
michaelrampl opened this issue Aug 14, 2023 · 26 comments
Closed

Missing qt libraries on recent open suse tumbleweed #1278

michaelrampl opened this issue Aug 14, 2023 · 26 comments
Assignees

Comments

@michaelrampl
Copy link

michaelrampl commented Aug 14, 2023

With todays update, albert unfortunately wont start anymore

The reason therefore seem to be 2 missing qt libraries (graphical effects and statemachine) which are installed tough.

        Albert version: 0.22.0
            Build date: Oct 27 2017 00:00:00
            Qt version: 6.5.2
09:05:00 [crit:albert] Application has not been terminated graciously
09:05:00 [info:albert] Hotkey set to Alt+D
09:05:00 [warn:albert] Opening history file failed: /home/michael/.local/share/albert/albert.history
09:05:00 [fatal:default] Failed loading QML component
qrc:/DefaultStyle.qml:4 module "QtQml.StateMachine" is not installed
qrc:/DefaultStyle.qml:3 module "Qt5Compat.GraphicalEffects" is not installed
qrc:/DefaultStyle.qml:4 module "QtQml.StateMachine" is not installed
qrc:/DefaultStyle.qml:3 module "Qt5Compat.GraphicalEffects" is not installed
  --  [(null)]
QHotkeyPrivate destroyed with registered shortcuts!

I have installed libQt6StateMachine6 and libqt5-qtgraphicaleffects on my open suse tumbleweed.

@ManuelSchneid3r
Copy link
Member

https://software.opensuse.org/package/libQt6StateMachineQml6

Can you please test this package?

@ManuelSchneid3r
Copy link
Member

@michaelrampl
Copy link
Author

michaelrampl commented Aug 14, 2023

The second one helped to reduce one issue, but the state machine issue remains.

albert -d
        Albert version: 0.22.0
            Build date: Oct 27 2017 00:00:00
            Qt version: 6.5.2
09:55:26 [crit:albert] Application has not been terminated graciously
09:55:26 [info:albert] Hotkey set to Alt+D
09:55:26 [warn:albert] Opening history file failed: /home/michael/.local/share/albert/albert.history
09:55:26 [fatal:default] Failed loading QML component
qrc:/DefaultStyle.qml:4 module "QtQml.StateMachine" is not installed
sudo zypper search statemachine
Loading repository data...
Reading installed packages...

S  | Name                                                | Summary                                                 | Type
---+-----------------------------------------------------+---------------------------------------------------------+--------
   | kdstatemachineeditor-devel                          | Introspection/Debugging Tool for Qt Applications        | package
   | libkdstatemachineeditor_core1                       | KDAB State Machine Editor core library                  | package
   | libkdstatemachineeditor_debuginterfaceclient1       | KDAB State Machine Editor core library                  | package
   | libkdstatemachineeditor_debuginterfacesource-static | KDAB State Machine Editor core library                  | package
   | libkdstatemachineeditor_view1                       | KDAB State Machine Editor view library                  | package
i  | libQt6StateMachine6                                 | Qt 6 StateMachine library                               | package
i+ | libQt6StateMachineQml6                              | Qt 6 StateMachineQml library                            | package
   | qt6-statemachine-devel                              | Qt 6 StateMachine library - Development files           | package
   | qt6-statemachine-private-devel                      | Non-ABI stable API for the Qt 6 StateMachine library    | package
   | qt6-statemachineqml-devel                           | Qt 6 StateMachineQml library - Development files        | package
   | qt6-statemachineqml-private-devel                   | Non-ABI stable API for the Qt 6 StateMachineQml library | package

@ManuelSchneid3r
Copy link
Member

Is there a way to print the files of a package?

@michaelrampl
Copy link
Author

Sure

rpm -ql libQt6StateMachineQml6
/usr/lib64/libQt6StateMachineQml.so.6
/usr/lib64/libQt6StateMachineQml.so.6.5.2

rpm -ql libQt6StateMachine6
/usr/lib64/libQt6StateMachine.so.6
/usr/lib64/libQt6StateMachine.so.6.5.2

@michaelrampl
Copy link
Author

Which exact file is albert looking for? perhaps creating a symlink would help

@ManuelSchneid3r
Copy link
Member

/usr/lib64/libQt6StateMachineQml.so.6 looks good. i wonder why it is not picked up. can you post the file list of qt5compat for comparison. or the output of find /usr/lib64 -iname "*qml*"

@michaelrampl
Copy link
Author

michaelrampl commented Aug 14, 2023

rpm -ql qt6-qt5compat-imports
/usr/lib64/qt6/qml/Qt5Compat
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Blend.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/BrightnessContrast.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ColorOverlay.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Colorize.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ConicalGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Desaturate.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/DirectionalBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Displace.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/DropShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/FastBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/GammaAdjust.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/GaussianBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Glow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/HueSaturation.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/InnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/LevelAdjust.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/LinearGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/MaskedBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/OpacityMask.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RadialBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RadialGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RectangularGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RecursiveBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ThresholdMask.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ZoomBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/libqtgraphicaleffectsplugin.so
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/plugins.qmltypes
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/DropShadowBase.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/FastGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/FastInnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianDirectionalBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianInnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianMaskedBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/libqtgraphicaleffectsprivateplugin.so
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/plugins.qmltypes
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/qmldir
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/qmldir
find /usr/lib64 -iname "*qml*" | grep -i graphical
/usr/lib64/qt5/qml/org/kde/graphicaleffects/Lanczos.qml
/usr/lib64/qt5/qml/org/kde/graphicaleffects/qmldir
/usr/lib64/qt5/qml/QtGraphicalEffects/private/DropShadowBase.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/DropShadowBase.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastGlow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastGlow.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastInnerShadow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastInnerShadow.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastMaskedBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/FastMaskedBlur.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianDirectionalBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianDirectionalBlur.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianGlow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianGlow.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianInnerShadow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianInnerShadow.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianMaskedBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/private/GaussianMaskedBlur.qmlc
/usr/lib64/qt5/qml/QtGraphicalEffects/private/qmldir
/usr/lib64/qt5/qml/QtGraphicalEffects/Blend.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/BrightnessContrast.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/ColorOverlay.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/Colorize.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/ConicalGradient.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/Desaturate.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/DirectionalBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/Displace.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/DropShadow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/FastBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/GammaAdjust.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/GaussianBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/Glow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/HueSaturation.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/InnerShadow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/LevelAdjust.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/LinearGradient.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/MaskedBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/OpacityMask.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/RadialBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/RadialGradient.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/RectangularGlow.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/RecursiveBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/ThresholdMask.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/ZoomBlur.qml
/usr/lib64/qt5/qml/QtGraphicalEffects/plugins.qmltypes
/usr/lib64/qt5/qml/QtGraphicalEffects/qmldir
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/DropShadowBase.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/FastGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/FastInnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianDirectionalBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianInnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/GaussianMaskedBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/plugins.qmltypes
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/private/qmldir
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Blend.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/BrightnessContrast.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ColorOverlay.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Colorize.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ConicalGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Desaturate.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/DirectionalBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Displace.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/DropShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/FastBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/GammaAdjust.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/GaussianBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/Glow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/HueSaturation.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/InnerShadow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/LevelAdjust.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/LinearGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/MaskedBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/OpacityMask.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RadialBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RadialGradient.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RectangularGlow.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/RecursiveBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ThresholdMask.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/ZoomBlur.qml
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/plugins.qmltypes
/usr/lib64/qt6/qml/Qt5Compat/GraphicalEffects/qmldir

@ManuelSchneid3r
Copy link
Member

please dont grep. i want to compare where the other qml files are put.

@michaelrampl
Copy link
Author

michaelrampl commented Aug 14, 2023

Here we go
libs.txt

@ManuelSchneid3r
Copy link
Member

There are these files for qt5 but they are missing for qt6

/usr/lib64/qt5/qml/QtQml/StateMachine/plugins.qmltypes
/usr/lib64/qt5/qml/QtQml/StateMachine/qmldir
/usr/lib64/qt5/qml/QtQml/StateMachine/libqtqmlstatemachine.so

@ManuelSchneid3r
Copy link
Member

are they contained in qt6-statemachineqml-devel?

@michaelrampl
Copy link
Author

It doesn't seem so

rpm -ql qt6-statemachineqml-devel
/usr/include/qt6/QtStateMachineQml
/usr/include/qt6/QtStateMachineQml/QtStateMachineQml
/usr/include/qt6/QtStateMachineQml/QtStateMachineQmlDepends
/usr/include/qt6/QtStateMachineQml/QtStateMachineQmlVersion
/usr/include/qt6/QtStateMachineQml/qtstatemachineqmlexports.h
/usr/include/qt6/QtStateMachineQml/qtstatemachineqmlversion.h
/usr/lib64/cmake/Qt6StateMachineQml
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlAdditionalTargetInfo.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlConfig.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlConfigVersion.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlConfigVersionImpl.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlDependencies.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlTargets-relwithdebinfo.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlTargets.cmake
/usr/lib64/cmake/Qt6StateMachineQml/Qt6StateMachineQmlVersionlessTargets.cmake
/usr/lib64/libQt6StateMachineQml.prl
/usr/lib64/libQt6StateMachineQml.so
/usr/lib64/pkgconfig/Qt6StateMachineQml.pc
/usr/lib64/qt6/metatypes/qt6statemachineqml_relwithdebinfo_metatypes.json
/usr/lib64/qt6/mkspecs/modules/qt_lib_statemachineqml.pri
/usr/share/qt6/modules/StateMachineQml.json

@ManuelSchneid3r
Copy link
Member

I am out of ideas I asked in the suse irc, but got no response. I am not really familiar with opensuse packaging. The information on https://software.opensuse.org/package/ is scarce. I couldnt even find out how to contact the packager.

@michaelrampl
Copy link
Author

Did something change recently on your end? I mean it worked until 2 days ago. I'm updating my machine 1-2 times per week.

@ManuelSchneid3r
Copy link
Member

the package ships the former qml frontend again. On arch, buntu and Fedora the dependencies are straight forward. Suse is quite cumbersome regarding packaging. It's really just that there have to be a hand full of qml libraries available. Like quick, statemachine, qt5compat for graphical effects (shadow)...
It seems like on suse they are nested hidden in other packages, while the afore mentioned distros ship dedicated packages for the qml modules.

@michaelrampl
Copy link
Author

I see, so its not that you changed something but suse's libraries containing those qml files changed with the update I installed recently. This implies its either finding the new packages (and adding them to dependencies for the open suse build) or including them into the build itself (which kind of breaks the linux way of having shared libraries at all)?

@tinywaferShark
Copy link

I encountered the same problem in OpenSUSE.

@michaelrampl
Copy link
Author

leap or tumbleweeed?

@iQmam0n
Copy link

iQmam0n commented Aug 17, 2023

I am using openSUSE Tumbleweed and after installing qt6-scxml-imports, the "QtQml.StateMachine" module not installed error disappeared and it works fine.

https://software.opensuse.org/package/qt6-scxml-imports?search_term=qt6-scxml-imports

@ManuelSchneid3r
Copy link
Member

ah, the rule is qt6-*-imports. nice, ty. can you somehow list all packages on your system that match that pattern?

@ManuelSchneid3r
Copy link
Member

Okay interesting. thats the full list of qml imports. did you install them manually?

Added:
Requires: qt6-qt5compat-imports
Requires: qt6-scxml-imports

I'd appreciate if anybody could test a clean install and see if it works. good to know would also be if albert pulls all the other qml dependencies. these are actually not used by albert.

@ManuelSchneid3r
Copy link
Member

@iQmam0n
Copy link

iQmam0n commented Aug 17, 2023

Okay interesting. thats the full list of qml imports. did you install them manually?

Added: Requires: qt6-qt5compat-imports Requires: qt6-scxml-imports

I'd appreciate if anybody could test a clean install and see if it works. good to know would also be if albert pulls all the other qml dependencies. these are actually not used by albert.

Yes, I have installed all the QT6 packages and albert worked fine.
I installed all the QT6 packages and found that albert worked fine, so I uninstalled the packages I didn't need and checked the startup, and discovered that qt6-scxml-imports had something to do with it.

@ManuelSchneid3r
Copy link
Member

Thank you all. I guess this one can be closes. If there pop up any other issues let me know.

@michaelrampl
Copy link
Author

Confirmed that the update works - great work guys :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants