DNF conflicts after upgrading to Fedora 41

I’m not certain how to resolve the issue. I may have removed dependencies carelessly after upgrading from the Workstation release 40 to 41.

$ sudo dnf upgrade
Updating and loading repositories:
Repositories loaded.
Problem 1: installed package libcurl-minimal-8.9.1-2.fc41.x86_64 conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora
  - package dnf5-plugin-automatic-5.2.6.2-1.fc41.x86_64 from fedora requires libcurl-full(x86-64), but none of the providers can be installed
  - cannot install the best update candidate for package libcurl-minimal-8.9.1-2.fc41.x86_64
  - cannot install the best update candidate for package dnf-automatic-4.21.1-1.fc41.noarch
 Problem 2: problem with installed package
  - installed package libcurl-minimal-8.9.1-2.fc41.x86_64 conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora
  - package libcurl-minimal-8.9.1-2.fc41.x86_64 from fedora conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora
  - package dnf5-plugin-automatic-5.2.6.2-1.fc41.x86_64 from fedora requires libcurl-full(x86-64), but none of the providers can be installed
  - problem with installed package
  - installed package dnf-automatic-4.21.1-1.fc41.noarch requires python3-dnf = 4.21.1-1.fc41, but none of the providers can be installed
  - package dnf-automatic-4.21.1-1.fc41.noarch from fedora requires python3-dnf = 4.21.1-1.fc41, but none of the providers can be installed
  - cannot install both python3-dnf-4.21.1-2.fc41.noarch from updates and python3-dnf-4.21.1-1.fc41.noarch from @System
  - cannot install both python3-dnf-4.21.1-1.fc41.noarch from fedora and python3-dnf-4.21.1-2.fc41.noarch from updates
  - cannot install the best update candidate for package python3-dnf-4.21.1-1.fc41.noarch

Package                                Arch       Version                                Repository                Size
Skipping packages with conflicts:
 python3-dnf                           noarch     4.21.1-2.fc41                          updates                2.6 MiB
 libcurl                               x86_64     8.9.1-2.fc41                           fedora               818.1 KiB
Skipping packages with broken dependencies:
 dnf-automatic                         noarch     4.21.1-1.fc41                          fedora                76.6 KiB
 dnf5-plugin-automatic                 x86_64     5.2.6.2-1.fc41                         fedora               178.4 KiB

Nothing to do.
2 Likes

This might be an issue with the packaging of dnf-automatic. I am receiving similar package conflict errors if I try to install it. Looks like a bug.

1 Like

Perhaps dnf-automatic needs to full libcurl capabilities.

To fix replace libcurl-minimal by libcurl:

sudo dnf swap libcurl-minimal libcurl
2 Likes

You could remove the dnf5 RPMs from your f40 system.
You do not need them for the upgrade.

dnf5 will be the default dnf when the upgrade completes.

The upgrade itself finished successfully, I’m on Fedora 41 now.

To update finished now, but I’m still getting post-install errors:

[DNF transactions]
>>> Running trigger-install scriptlet: glibc-common-0:2.40-3.fc41.x86_64warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() [46/46] Erasing firefox-0:131.0.3-3.fc41.x86_64           100% [==================] | 602.0   B/s |  99.0   B | -00m00s
>>> Running trigger-post-uninstall scriptlet: glibc-common-0:2.40-3.fc41.x86_64warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() [46/46] Erasing firefox-0:131.0.3-3.fc41.x86_64

Is dnf5-plugin-automatic a DNF5 replacement for dnf-automatic?

dnf info dnf5-plugin-automatic dnf-automatic
[...]
Name            : dnf5-plugin-automatic
Epoch           : 0
Version         : 5.2.6.2
Release         : 1.fc41
Architecture    : x86_64
Installed size  : 178.4 KiB
Source          : dnf5-5.2.6.2-1.fc41.src.rpm
From repository : fedora
Summary         : Package manager - automated upgrades
URL             : https://github.com/rpm-software-management/dnf5
License         : LGPL-2.1-or-later
Description     : Alternative command-line interface "dnf upgrade" suitable to be executed
                : automatically and regularly from systemd timers, cron jobs or similar.
Vendor          : Fedora Project

Available packages
Name           : dnf-automatic
Epoch          : 0
Version        : 4.21.1
Release        : 1.fc41
Architecture   : noarch
Download size  : 41.4 KiB
Installed size : 76.6 KiB
Source         : dnf-4.21.1-1.fc41.src.rpm
Repository     : fedora
Summary        : Package manager - automated upgrades
URL            : https://github.com/rpm-software-management/dnf
License        : GPL-2.0-or-later AND GPL-1.0-only
Description    : Systemd units that can periodically download package upgrades and apply them.
Vendor         : Fedora Project

The difference is that one is for dnf4 and the other for dnf5 (see version number).

1 Like

Which one should be used on Fedora 41? It’s not clear from the name that dnf-automatic is actually for dnf4. I expect that to be, say, dnf4-automatic.

But the

dnf5-plugin-automatic

is clearly for dnf5. We not replaced dnf4 we just added dnf5 and changed the dnf symlink to dnf5.

As there was running dnf4 before upgrade, it would have given a mess starting to rename existing packages.

Did you with problems have dnf5 installed before the upgrade to F41?

You might have wrong simlinks … and dnf is still running dnf4 ?!

$ dnf --version
dnf5 version 5.2.6.2
dnf5 plugin API version 2.0
libdnf5 version 5.2.6.2
libdnf5 plugin API version 2.0

Loaded dnf5 plugins:
  name: automatic
  version: 1.0.0
  API version: 2.0

  name: builddep
  version: 1.0.0
  API version: 2.0

  name: changelog
  version: 1.0.0
  API version: 2.0

  name: config-manager
  version: 0.1.0
  API version: 2.0

  name: copr
  version: 0.1.0
  API version: 2.0

  name: needs_restarting
  version: 1.0.0
  API version: 2.0

  name: repoclosure
  version: 1.0.0
  API version: 2.0

We are having two topics with similar/same issue.

Try to

dnf swap

the automatic package … see here:

1 Like

These warning can be ignore safely. It should get fixed as it’s been reported as a bug already.

1 Like

It is at https://bugzilla.redhat.com/show_bug.cgi?id=2291869

6 Likes