Upgrade from 8.9 to 8.10 failed (devel repo required)

I’m trying to upgrade my Rocky 8.9 boxes to 8.10, but dnf is exiting with the following error:

Error:
 Problem: cannot install both platform-python-3.6.8-62.el8_10.rocky.0.x86_64 from baseos and platform-python-3.6.8-56.el8_9.3.rocky.0.x86_64 from @System
  - package python3-devel-3.6.8-56.el8_9.3.rocky.0.x86_64 from @System requires platform-python = 3.6.8-56.el8_9.3.rocky.0, but none of the providers can be installed
  - cannot install the best update candidate for package platform-python-3.6.8-56.el8_9.3.rocky.0.x86_64
  - problem with installed package python3-devel-3.6.8-56.el8_9.3.rocky.0.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Steps performed to do the upgrade:

  • dnf makecache --refresh
  • dnf update

Workarounds:

  1. dnf update --allowerasing <== removes python3-devel
  2. dnf update --enablerepo devel <== prefer not to enable this

It appears that the “python3-devel” package exists only in the “devel” repo where previously it was located in the “powertools” repo. Can this be copied or moved back to the “powertools” repo?

I recommend removing python3-devel. There shouldn’t be a reason to use it and in fact, you should have platform-python-devel installed instead, if you really need the devel package. It existing in powertools was mistake that has long been corrected.

In RHEL, python3-devel does not exist.

# dnf info python3-devel
Updating Subscription Management repositories.
Last metadata expiration check: 1:01:18 ago on Mon 03 Jun 2024 04:06:06 PM UTC.
Error: No matching Packages to list

But platform-python-devel does exist, in AppStream.

# dnf info platform-python-devel | grep -E 'Name|Version'
Name         : platform-python-devel
Version      : 3.6.8
Name         : platform-python-devel
Version      : 3.6.8

The python3-devel package specifically states:

It also makes the "python3" and "python3-config" commands available
for compatibility with some build systems.
When building packages, prefer requiring platform-python-devel and using
the %{__python3} macro instead, if possible.

If this is a case of needing the python3 command, consider installing the python36 packages instead.

Thanks for the info. I’ll just remove the “python3-devel” package as part of the upgrade.

FWIW, I had the “python3-*” being installed as part of my workstation setup script. Future installs will be with 8.10, so it won’t be a problem from here on out.

It