Possible qt5/qt6 dependency issue. Having qgnomeplatform-qt5 installed blocks qt6 from upgrading. Upgrading qt6 downgrades qt5

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.

This is a bug in F40. I reported it on behalf of another user: 2341762 – F40 Qt5 causes conflicts with Qt6.8 update due to missing obsoletes on qgnomeplatfrom-qt5

The fix is in progress: FEDORA-2025-ca4840da3a — bugfix update for qt5-qtbase — Fedora Updates System

You can manually remove qgnomeplatform-qt5 to fix it yourself (that’s what happens on F41).

I’m by no means an expert on Qt, but I was a bit surprised to see that QGnomePlatform is being dropped from existing releases for Qt5, and not just Qt6. My understanding is that Qt 6.8 has gained some improved native theming, but even so, that would leave Qt5 regressed.

Thanks for the info! Good to know I am not imagining things :wink: