tl;dr:
While writing this up and collecting the information I did some more investigating. Therefore some guesses taken / questions raised are later superceded.
To get the gist of it scroll down to the last part (starting with “At this stage I figure what happened is”). I am still going to leave the whole story for context and additional information:
Yesterday, while debugging some network stuff, I installed wireshark on my Fedora 40 system. Focused on the debugging I apparently did not check properly what dnf wanted to do. dnf history tells the story as follows:
[...]
Return-Code : Success
Releasever : 40
Command Line : install wireshark
Comment :
Packages Altered:
Downgrade keepassxc-2.7.7-3.fc40.x86_64 @fedora
Downgraded keepassxc-2.7.9-5.fc40.x86_64 @@System
Downgrade python-qt5-rpm-macros-5.15.10-5.fc40.noarch @fedora
Downgraded python-qt5-rpm-macros-5.15.10-11.fc40.noarch @@System
Downgrade python3-qt5-5.15.10-5.fc40.x86_64 @fedora
Downgraded python3-qt5-5.15.10-11.fc40.x86_64 @@System
Downgrade python3-qt5-base-5.15.10-5.fc40.x86_64 @fedora
Downgraded python3-qt5-base-5.15.10-11.fc40.x86_64 @@System
Downgrade qadwaitadecorations-qt5-0.1.5-1.fc40.x86_64 @fedora
Downgraded qadwaitadecorations-qt5-0.1.6-4.fc40.x86_64 @@System
Downgrade qgnomeplatform-qt5-0.9.2-11.fc40.x86_64 @fedora
Downgraded qgnomeplatform-qt5-0.9.2-18.fc40.x86_64 @@System
Downgrade qt5-qtbase-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtbase-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtbase-common-5.15.13-1.fc40.noarch @fedora
Downgraded qt5-qtbase-common-5.15.15-1.fc40.noarch @@System
Downgrade qt5-qtbase-gui-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtbase-gui-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtconnectivity-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtconnectivity-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtdeclarative-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtdeclarative-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtgamepad-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtgamepad-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtgraphicaleffects-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtgraphicaleffects-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtlocation-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtlocation-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtmultimedia-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtmultimedia-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtquickcontrols2-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtquickcontrols2-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtsensors-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtsensors-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtserialport-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtserialport-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtsvg-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtsvg-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtwayland-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtwayland-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtwebchannel-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtwebchannel-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtwebsockets-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtwebsockets-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtx11extras-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtx11extras-5.15.15-1.fc40.x86_64 @@System
Downgrade qt5-qtxmlpatterns-5.15.13-1.fc40.x86_64 @fedora
Downgraded qt5-qtxmlpatterns-5.15.15-1.fc40.x86_64 @@System
Install bcg729-1.1.1-9.fc40.x86_64 @fedora
Install compat-lua-libs-5.1.5-25.fc40.x86_64 @fedora
Install libsmi-0.4.8-39.fc40.x86_64 @fedora
Install qt6-qt5compat-6.8.1-2.fc40.x86_64 @updates
Install wireshark-1:4.2.9-1.fc40.x86_64 @updates
Install wireshark-cli-1:4.2.9-1.fc40.x86_64 @updates
Upgrade gstreamer1-plugins-good-1.24.11-2.fc40.x86_64 @updates
Upgraded gstreamer1-plugins-good-1.24.11-1.fc40.x86_64 @@System
Upgrade gstreamer1-plugins-good-extras-1.24.11-2.fc40.x86_64 @updates
Upgraded gstreamer1-plugins-good-extras-1.24.11-1.fc40.x86_64 @@System
Upgrade gstreamer1-plugins-good-gtk-1.24.11-2.fc40.x86_64 @updates
Upgraded gstreamer1-plugins-good-gtk-1.24.11-1.fc40.x86_64 @@System
Upgrade gstreamer1-plugins-good-qt-1.24.11-2.fc40.x86_64 @updates
Upgraded gstreamer1-plugins-good-qt-1.24.11-1.fc40.x86_64 @@System
Upgrade gstreamer1-plugins-good-qt6-1.24.11-2.fc40.x86_64 @updates
Upgraded gstreamer1-plugins-good-qt6-1.24.11-1.fc40.x86_64 @@System
Upgrade python-pyqt6-rpm-macros-6.8.0-1.fc40.noarch @updates
Upgraded python-pyqt6-rpm-macros-6.7.0-5.fc40.noarch @@System
Upgrade python3-pyqt6-6.8.0-1.fc40.x86_64 @updates
Upgraded python3-pyqt6-6.7.0-5.fc40.x86_64 @@System
Upgrade python3-pyqt6-base-6.8.0-1.fc40.x86_64 @updates
Upgraded python3-pyqt6-base-6.7.0-5.fc40.x86_64 @@System
Upgrade qt6-qtbase-6.8.1-11.fc40.x86_64 @updates
Upgraded qt6-qtbase-6.7.2-6.fc40.x86_64 @@System
Upgrade qt6-qtbase-common-6.8.1-11.fc40.noarch @updates
Upgraded qt6-qtbase-common-6.7.2-6.fc40.noarch @@System
Obsoleted qgnomeplatform-common-0.9.2-18.fc40.noarch @@System
Upgrade qt6-qtbase-gui-6.8.1-11.fc40.x86_64 @updates
Upgraded qt6-qtbase-gui-6.7.2-6.fc40.x86_64 @@System
Upgrade qt6-qtconnectivity-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtconnectivity-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtdeclarative-6.8.1-6.fc40.x86_64 @updates
Upgraded qt6-qtdeclarative-6.7.2-2.fc40.x86_64 @@System
Upgrade qt6-qtmultimedia-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qtmultimedia-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtpdf-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qtpdf-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtpositioning-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtpositioning-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtquick3d-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qtquick3d-6.7.2-3.fc40.x86_64 @@System
Upgrade qt6-qtquicktimeline-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtquicktimeline-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtremoteobjects-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtremoteobjects-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtscxml-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qtscxml-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtsensors-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtsensors-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtserialport-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtserialport-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtshadertools-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qtshadertools-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtspeech-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtspeech-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtspeech-flite-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtspeech-flite-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtspeech-speechd-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtspeech-speechd-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtsvg-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtsvg-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qttools-common-6.8.1-3.fc40.noarch @updates
Upgraded qt6-qttools-common-6.7.2-1.fc40.noarch @@System
Upgrade qt6-qttools-libs-designer-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qttools-libs-designer-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qttools-libs-help-6.8.1-3.fc40.x86_64 @updates
Upgraded qt6-qttools-libs-help-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtwayland-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtwayland-6.7.2-4.fc40.x86_64 @@System
Obsoleted qadwaitadecorations-qt6-0.1.6-3.fc40.x86_64 @@System
Upgrade qt6-qtwebchannel-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtwebchannel-6.7.2-1.fc40.x86_64 @@System
Upgrade qt6-qtwebsockets-6.8.1-2.fc40.x86_64 @updates
Upgraded qt6-qtwebsockets-6.7.2-1.fc40.x86_64 @@System
What is happening here? Why is qt5 involved anyway? As far as I tried to follow the wireshark dependencies it seems to be using qt6 and compat stuff. Is this a problem with the wireshark package?
I realized that something was wrong when I tried to update today and got this:
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
qt5-qtbase x86_64 5.15.15-1.fc40 updates 3.6 M
Skipping packages with broken dependencies:
qgnomeplatform-qt5 x86_64 0.9.2-18.fc40 updates 193 k
I then proceeded to remove qgnomeplatform-qt5 as it seems to be unmaintained upstream and no other package on my system depended on it anyway.
At this point my subconscious surfaced the wireshark installation from yesterday and I checked the history provided above. I removed wireshark and ran autoremove to get rid of the packages forcing the downgrades. This seems to have worked as I could now restore the packages to their newer version bei calling dnf update.
I was now somewhat certain my system was back to how it was before I installed wireshark, except for the package qgnomeplatform-qt5, which I had manually removed. Just to see what would happen I tried to reinstall it:
sudo dnf install qgnomeplatform-qt5
Last metadata expiration check: 0:02:09 ago on So 26 Jan 2025 12:36:12 CET.
Dependencies resolved.
Problem: package kmod-VirtualBox-6.12.9-100.fc40.x86_64-7.1.4-1.fc40.x86_64 from @System requires VirtualBox-kmod-common >= 7.1.4, but none of the providers can be installed
- cannot install both VirtualBox-server-7.0.16-1.fc40.x86_64 from rpmfusion-free and VirtualBox-server-7.1.4-1.fc40.x86_64 from @System
- cannot install both VirtualBox-server-7.1.4-1.fc40.x86_64 from rpmfusion-free-updates and VirtualBox-server-7.0.16-1.fc40.x86_64 from rpmfusion-free
- package VirtualBox-7.0.16-1.fc40.x86_64 from rpmfusion-free requires VirtualBox-server = 7.0.16, but none of the providers can be installed
- problem with installed package VirtualBox-7.1.4-1.fc40.x86_64
- package VirtualBox-7.1.4-1.fc40.x86_64 from @System requires libQt6Core.so.6(Qt_6.7)(64bit), but none of the providers can be installed
- package VirtualBox-7.1.4-1.fc40.x86_64 from rpmfusion-free-updates requires libQt6Core.so.6(Qt_6.7)(64bit), but none of the providers can be installed
- package qt6-qtbase-6.8.1-11.fc40.x86_64 from @System requires qt6-qtbase-common = 6.8.1-11.fc40, but none of the providers can be installed
- package qt6-qtbase-6.8.1-11.fc40.x86_64 from updates requires qt6-qtbase-common = 6.8.1-11.fc40, but none of the providers can be installed
- installed package qt6-qtbase-common-6.8.1-11.fc40.noarch obsoletes qgnomeplatform-common <= 0.9.3 provided by qgnomeplatform-common-0.9.2-18.fc40.noarch from updates
- package qt6-qtbase-common-6.8.1-11.fc40.noarch from updates obsoletes qgnomeplatform-common <= 0.9.3 provided by qgnomeplatform-common-0.9.2-18.fc40.noarch from updates
- package qgnomeplatform-qt5-0.9.2-18.fc40.x86_64 from updates requires qgnomeplatform-common = 0.9.2-18.fc40, but none of the providers can be installed
- cannot install the best candidate for the job
- problem with installed package kmod-VirtualBox-6.12.9-100.fc40.x86_64-7.1.4-1.fc40.x86_64
==============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================================================================
Installing:
qgnomeplatform-qt5 x86_64 0.9.2-11.fc40 fedora 195 k
Downgrading:
keepassxc x86_64 2.7.7-3.fc40 fedora 8.6 M
python-qt5-rpm-macros noarch 5.15.10-5.fc40 fedora 8.8 k
python3-qt5 x86_64 5.15.10-5.fc40 fedora 1.1 M
python3-qt5-base x86_64 5.15.10-5.fc40 fedora 3.0 M
qadwaitadecorations-qt5 x86_64 0.1.5-1.fc40 fedora 61 k
qt5-qtbase x86_64 5.15.13-1.fc40 fedora 3.6 M
qt5-qtbase-common noarch 5.15.13-1.fc40 fedora 12 k
qt5-qtbase-gui x86_64 5.15.13-1.fc40 fedora 6.4 M
qt5-qtconnectivity x86_64 5.15.13-1.fc40 fedora 460 k
qt5-qtdeclarative x86_64 5.15.13-1.fc40 fedora 4.2 M
qt5-qtgamepad x86_64 5.15.13-1.fc40 fedora 102 k
qt5-qtgraphicaleffects x86_64 5.15.13-1.fc40 fedora 120 k
qt5-qtlocation x86_64 5.15.13-1.fc40 fedora 3.2 M
qt5-qtmultimedia x86_64 5.15.13-1.fc40 fedora 798 k
qt5-qtquickcontrols2 x86_64 5.15.13-1.fc40 fedora 1.7 M
qt5-qtsensors x86_64 5.15.13-1.fc40 fedora 224 k
qt5-qtserialport x86_64 5.15.13-1.fc40 fedora 66 k
qt5-qtsvg x86_64 5.15.13-1.fc40 fedora 188 k
qt5-qtwayland x86_64 5.15.13-1.fc40 fedora 1.1 M
qt5-qtwebchannel x86_64 5.15.13-1.fc40 fedora 99 k
qt5-qtwebsockets x86_64 5.15.13-1.fc40 fedora 87 k
qt5-qtx11extras x86_64 5.15.13-1.fc40 fedora 35 k
qt5-qtxmlpatterns x86_64 5.15.13-1.fc40 fedora 973 k
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
VirtualBox-server x86_64 7.0.16-1.fc40 rpmfusion-free 20 M
Skipping packages with broken dependencies:
VirtualBox x86_64 7.0.16-1.fc40 rpmfusion-free 24 M
qgnomeplatform-qt5 x86_64 0.9.2-18.fc40 updates 193 k
Transaction Summary
==============================================================================================================================================================================================================================================
Install 1 Package
Downgrade 23 Packages
Skip 3 Packages
Total download size: 36 M
Is this ok [y/N]: n
These very suspiciously look like the downgrades that were triggered by the wireshark installation yesterday. So now it seems the whole mess is more about qgnomeplatform-qt5 than wireshark. (Edit: without qgnomeplatform-qt5 I can actually just reinstall wireshark without causing any trouble)
At this stage I figure what happened is:
- qgnomeplatform-qt5 has always been on my system (since I installed Fedora in April 2023)
- the installation of wireshark triggered qt6-qtbase-common to upgrade from 6.7.2-6 to 6.8.1-11 (though I am unclear why this was not done before by “dnf update”)
- the upgrade obsoleted qgnomeplatform-common-0.9.2-18 (qgnomeplatform-common <= 0.9.3)
- this now breaks qgnomeplatform-qt5-0.9.2-18 as it requires qgnomeplatform-common = 0.9.2-18
- dnf resolves this by downgrading to qgnomeplatform-qt5-0.9.2-11, although I don’t know how that helps, because surely qgnomeplatform-qt5-0.9.2-11 must depend on qgnomeplatform-common-0.9.2-11, which also should be obsolete
- in summary, upgrading qt6 somehow downgraded qt5
If I understand correctly qt6-qtbase-common-6.8.1-11 obsoletes the old qgnomeplatform-common because it is now providing it itself?
For qgnomeplatform-qt6 it seems it has moved to qt6-qtbase-gui, but the same is not true for the qt5 versions? Thus creating the conflicting requirements for qgnomeplatform-common?
Pardon my limited understanding of dnf / rpm and how dependencies are handled. I only started using fedora 1.5 years ago and prior to today no situation arose that required deeper investigations. I am probably projecting some apt / deb stuff that does not entirely apply.
Questions:
- Did I stumble upon broken dependencies within the qt-packages or am I doing something wrong?
- Why did it take the coincidence of wireshark requiring a newer version of qt6-qtbase for dnf to tell me that apparently my qt6 stuff was stuck on an old version? Would have been helpful to get alerted to the situation that some dependency is blocking me from getting updates. How do I know there isn’t more stuff like this lurking? I want to upgrade to fedora 41 soon, but before that I want to be sure the system is in a clean state.