Created attachment 1690785 [details]
Description of problem:
Many of the settings pages in the settings application do not load due to Qt errors.
Version-Release number of selected component (if applicable):
KDE Frameworks 5.68.0
Steps to Reproduce:
1. Open the KDE settings application.
2. Click on a page on the left side bar, most of them exhibit this (example: Global Theme)
3. The errors appear.
A stack trace appears, eventually pointing to QtControl.Dialog.anchors is not available due to component versioning.
The correct configuration page should occur.
This began happening when I updated to the KDE stuff in epel testing.
Are you running RHEL 8.2 or CentOS Stream?
It probably will happen on both, but just incase I don't see it in my testing, that might help narrow things down.
I have verified it on RHEL 8.2.
RHEL 8.2 - thank you!
Still investigating, but here are some of the things I've found.
RHEL 8.2 and CentOS Stream both have the error. Doesn't matter if it's an update or a fresh install.
All the files in the error are there, so it's not a missing files issue.
In the messages file you get errors similar to the following
systemsettings5: "file:///usr/share/kpackage/kcms/kcm_colors/contents/ui/main.qml" #012 "Error loading QML file.\n351: Type NewStuff.Button unavailable\n125: Type NewStuff.Dialog unavailable\n95: Type NewStuff.DialogContent unavailable\n64: Type NewStuff.Page unavailable\n108: Type NewStuff.QuestionAsker unavailable\n45: \"QtControls.Dialog.anchors\" is not available due to component versioning.\n"
I haven't been able to test a rebuild of kf5-knewstuff yet. But I have verified that all the packages there when it was built are the newer qt5, plasma, and kf5 packages. But I haven't ruled out a rebuild of it.
Still working on getting/testing rebuilt packages.
Looking at the changes of what is listed in settings on the older KDE versus the new one, almost all of the ones that are failling are new, or have changed in some way.
The ones that still work were in the older version. But, like I tested before, it doesn't seem to matter if I upgrade or do a fresh install. So it's not an upgrade issue.
I'm guessing something was built out of order. But tracking down what that is will take some time.
I'm sorry it's taking so long to get this fixed. I haven't forgotten about it. bodhi has done some wonderfully crazy things with my kde update. In the end, since this is irritating, but not critical, I'm going to have to release the kde update with this bug, and get it fixed as soon after as I can.
Thank you for your patience.
Still working on this.
All the things I've tried haven't done anything.
I'm thinking this doesn't really have to do with build orders, but something to do with the paths. I'm having a hard time tracking down which paths are missing, and which config is needed to be tweeked.
If anyone has idea's on this. I'm open to suggestions.
My apologies if this is already obvious to everyone, but the error message seems to be saying that _as imported by component org.kde.newstuff.QuestionAsker_, component QtControls.Dialog does not expose a property named "anchors". In other words, it seems to indicate a feature-versioning issue. Supposing that the message in fact accurately characterizes the problem, I am inclined to guess that there is a bona fide incompatibility, not necessarily in the underlying binaries, but at least in the QML. I have tried to trace down such an issue, but my QML skills are weak.
It is furthermore conceivable that the key change -- whether intentional or errant -- responsible for the breakage manifesting is in Qt5 and its QML handling. For example, perhaps one of the components involved is a bit sloppy, and Qt5 got stricter. Or perhaps Qt5 acquired a bug that this particular combination of components happens to tickle.
That is a very good point.
Looking at the error, my first guess is to try recompile and/or updating qt5-qtquickcontrols and qt5-qtquickcontrols2.
Incase people are wondering, nope, not just those two packages. Didn't fix anything.
I'm going to try updating all of the RHEL packages to 15.2.8, so they are all the same, and see if that works.
This is going to take a little longer than just those two.
I have installed the packages from https://copr.fedorainfracloud.org/coprs/loise/KentOS-8.2.2004/ over the broken KDE/QT/EPEL ones and they work. Just some info for people searching for a fix.
Yep, if you need a fix, that will work.
Just know that those are qt5-5.15, while the qt5 in RHEL8 is qt5-5.12.
Sorry this is probably not the place for such discussion, but I have been a RedHat/CentOS consumer since 7.2 (Enigma).
After what RedHat has done (and I'm not just talking about throwing out KDE) I don't mind going off from RedHat versioning.
Not a problem, I'm glad there is a work-around if people want to go that route.
I just wanted people to know why EPEL8 isn't able to go that route.
I've tried various different things, still without success. Here are the various things I've tried and the results.
Is "anchors" in the qt5 5.12.5/8 code? Yes
I've grepped through several components, and some form of anchors is there. I don't know enough of this feature to know what version or features are in there, but there is anchors code there.
I've tried different versions of kf5-knewstuff, and although that didn't fix things, it did give me a different error. When I downgraded it to kf5-knewstuff-5.59.0, I got the following error when I click on "Global Theme".
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:24 module "org.kde.newstuff" version 1.62 is not installed
All of the errors end with "Type NewStuff.QuestionAsker unavailable\n45: \"QtControls.Dialog.anchors\" is not available due to component versioning." and line 45 is
I've searched through the code and "anchors.centerIn" appears to be in the code. So my thought was that maybe we're calling QtControls with the wrong version, thus it isn't working.
With that in mind I've tried calling it with various different versions during import. Without success.
It should be correct, because "QtControls.Dialog.anchors.centerIn" comes from "QtControls.Popup"  and this property is there since Qt 5.8 so including QtControls 5.11 should be okay. Maybe you can try to import QtControls 5.12 in case the versioning is somehow broken.
 - https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html#anchors.centerIn-prop
Thanks Jan for the pointer. It didn't seem to help directly, but it did get an idea into my head that provided a fairly good workaround.
Since we don't need the popup for everything, I figure it's better to be able to change things normally, and occasionally be missing some pop-up, than to not change things at all.
So I took out the line from Page.qml that calls QuestionAsker.
Everything seems to be working with that one change.
I'm sure there will be something that is missing, but I think for now that get's the majority of functionality back.
I'll have a test build soon, hopefully today.
FEDORA-EPEL-2020-f21297604d has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f21297604d
FEDORA-EPEL-2020-f21297604d has been pushed to the Fedora EPEL 8 testing repository.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f21297604d
See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2020-f21297604d has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.