Unable to do a dnf upgrade --refresh

Trying to get my fedora 29 up to date before I upgrade to 30, but keep getting this error:

Error: 
 Problem 1: package kernel-modules-extra-4.20.8-200.fc29.x86_64 requires kernel-uname-r = 4.20.8-200.fc29.x86_64, but none of the providers can be installed
  - conflicting requests
 Problem 2: package kernel-4.20.8-200.fc29.x86_64 requires kernel-core-uname-r = 4.20.8-200.fc29.x86_64, but none of the providers can be installed
  - conflicting requests
Tried adding --skip-broken and --allowerasing but did not help. Seems like it should be a simple fix, but not sure what it is. The entire ouput is:
Adobe Systems Incorporated                      2.4 kB/s | 2.9 kB     00:01    
Fedora 29 openh264 (From Cisco) - x86_64        216  B/s | 543  B     00:02    
Fedora Modular 29 - x86_64                       15 kB/s |  19 kB     00:01    
Fedora Modular 29 - x86_64 - Updates             13 kB/s |  18 kB     00:01    
Fedora 29 - x86_64 - Updates                    3.2 kB/s |  17 kB     00:05    
Fedora 29 - x86_64                               12 kB/s |  19 kB     00:01    
RPM Fusion for Fedora 29 - Free - Updates       2.4 kB/s | 3.6 kB     00:01    
RPM Fusion for Fedora 29 - Free - Updates        71 kB/s | 387 kB     00:05    
RPM Fusion for Fedora 29 - Free                 2.1 kB/s | 3.2 kB     00:01    
RPM Fusion for Fedora 29 - Nonfree - Updates    1.7 kB/s | 3.7 kB     00:02    
RPM Fusion for Fedora 29 - Nonfree - Updates     17 kB/s |  92 kB     00:05    
RPM Fusion for Fedora 29 - Nonfree              2.1 kB/s | 3.2 kB     00:01    
Error: 
 Problem 1: package kernel-modules-extra-4.20.8-200.fc29.x86_64 requires kernel-uname-r = 4.20.8-200.fc29.x86_64, but none of the providers can be installed
  - conflicting requests
 Problem 2: package kernel-4.20.8-200.fc29.x86_64 requires kernel-core-uname-r = 4.20.8-200.fc29.x86_64, but none of the providers can be installed
  - conflicting requests
(try to add '--skip-broken' to skip uninstallable packages)

Thanx. R.J.

You could try to remove the kernel-modules-extra-4.20.8-200.fc29.x86_64 package as it seems to be a leftover. First verify which kernel you are running.

uname -r

If that differs from the version for kernel-modules-extra-4.20.8-200.fc29.x86_64 you can remove that package.

dnf remove kernel-modules-extra-4.20.8-200.fc29.x86_64
4 Likes

Hello rjfedora

I got exactly this once I’d already upgraded to Fedora 30.

Every time dnf wanted to upgrade a kernel, I got this message. Note that it’s the DELETION of the OLDEST kernel that’s the problem and the oldest kernel that dnf shows in its ā€˜conflicting request’ message

The only way round it that I’ve found is to use ā€˜rpm -e’ to erase the offending kernel packages. The recommended way is to use dnf for everything, but trying to remove these kernels via dnf, I still had dnf barf on me, even when I tried ā€˜dnf remove’.

Anyway ā€˜rpm -e’ should’t really be a problem since it’s a kernel that dnf would remove anyway in this transaction if it didn’t barf.

So:

rpm -e kernel-4.20.8-200.fc29.x86_64
rpm -e kernel-modules-extra-4.20.8-200.fc29.x86_64

Then run your dnf command again.

I notice this is a really old kernel, so I presume you’re saving more than the default three, as I was. Perhaps that’s part of the cause.

Be prepared to do the same thing for a while every time your dnf wants to upgrade the kernel, even when you’re in Fedora 30.

1 Like

Thanks to both thomaswood and jonathans for their help. That got me to the next step - but also to another error when I run ā€œdnf upgrade --refreshā€ . It downloads over 500 package/updates and then ends with this:


Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/man/man5/ldap.conf.5.gz from install of openldap-2.4.46-10.fc29.i686 conflicts with file from package openldap-2.4.46-9.fc29.x86_64

Error Summary
-------------

Not sure if I should open a new problem or not.
R.J.

Hi @rjfedora: welcome to the community! Please take a look at the introductory posts in #start-here if you haven’t yet had a chance to do so. They have useful information on how to use Discourse to have the best experience (for you and others).

These appear to be package conflicts between the 32bit packages and the 64bit ones that need to be installed as upgrades. The simple workaround is to remove the conflicting packages, upgrade, and re-install them if you do need them.

Out of curiosity: you have 32 bit packages installed on your 64 bit system? Did you install these?

1 Like

Thanx for the prompt response. I did not knowingly install 32bit packages. But from the way the error reads it looks like the packages that are trying to install are the 32bit packages (i686 are 32bit correct?) or am I reading it wrong?

1 Like

Yes, they are 32 bit packages. Generally, 32bit and 64bit packages do not conflict—that’s how you have them both installed. The two versions involved in the update, however, are conflicting here.

I would try to remove the 32 bit packages—hopefully they won’t pull lots of other things—upgrade, and then reinstall them if needed.

Thanks. I ran this command:

dnf upgrade  --refresh -x libjpeg-turbo-2.0.2-1.fc29.i686,openldap-2.4.46-10.fc29.i686

and that worked. When I run ā€œdnf check-updateā€ it still shows the 2 packages

libjpeg-turbo.i686                    2.0.2-1.fc29                       updates
openldap.i686                         2.4.46-10.fc29                     updates

Do you think this will cause a problem when upgrading to Fedora30?

I expect they will—if they’re causing trouble with normal updates, they’ll probably also cause trouble with a system-upgrade. A system-upgrade is essentially a normal update but in a fresh, pristine boot.

What does trying to remove these two packages say? Does it also try to remove lots of other packages?

sudo dnf remove libjpeg-turbo-2.0.2-1.fc29.i686 openldap-2.4.46-10.fc29.i686

(Please check the versions)

Those are the two packages that the update is trying to install. The packages currently in the system are the 64-bit packages :
libjpeg-turbo-2.0.0-3.fc29.x86_64
openldap-2.4.46-9.fc29.x86_64
In fact there were a number of *.i686 packages that were installed with the upgrade, but these were the only ones with conflicts. I guess the only thing to do is remove the 64 bit versions and replace them with the i686 versions, though that seems odd.

Eh? What does this command say:

rpm -qa \*jpeg\* \*ldap\*

64 bit libraries cannot be updated with their 32 bit counterparts, and DNF will not suggest so.

No, I’d say removing the i686 ones is preferable. You are on a 64 bit system so all the core libraries will be x86_64. A few tools that you’ve installed may have pulled in i686 libraries, but these will be optional. In general, you should be able to remove all i686 packages and your system should still function properly.

Here’s the response from doing rpm -qa \*jpeg\* \*ldap\*

libjpeg-turbo-2.0.0-3.fc29.x86_64
libjpeg-turbo-2.0.2-1.fc29.x86_64
openjpeg2-2.3.1-1.fc29.x86_64
openldap-2.4.46-9.fc29.i686
wine-ldap-4.7-1.fc29.x86_64
wine-ldap-4.7-1.fc29.i686
sssd-ldap-2.1.0-2.fc29.x86_64
openjpeg-libs-1.5.1-22.fc29.x86_64
openldap-2.4.46-9.fc29.x86_64
openldap-2.4.46-10.fc29.x86_64
mjpegtools-libs-2.1.0-13.fc29.x86_64
libjpeg-turbo-2.0.0-3.fc29.i686

Looks like there are both 32-bit and 64-bit packages! Should I try removing
openldap-2.4.46-9.fc29.i686
and
libjpeg-turbo-2.0.0-3.fc29.i686

and then see if the dnf check-update still wants to update with i686 files?

You shouldn’t have two 64 bit versions of the package installed.

Same for this one.

No, not yet. We may have caught the actual issue here—these duplicate packages should not be here and are likely what is causing the problem. Did an upgrade fail at some point? This suggests that the transaction didn’t complete properly.

Let’s try to update them. What does this say?

sudo dnf reinstall libjpeg-turbo openldap
1 Like

An update may have failed at one time, not sure. Sometimes I get busy and in a hurry and just assume it worked if I was using the gnome interface to do the update. Here’s the output from the

sudo dnf reinstall libjpeg-turbo openldap

Fedora 29 openh264 (From Cisco) - x86_64        1.0 kB/s | 543  B     00:00    
Fedora Modular 29 - x86_64                       78 kB/s |  18 kB     00:00    
Fedora Modular 29 - x86_64 - Updates             47 kB/s |  18 kB     00:00    
Fedora 29 - x86_64 - Updates                     50 kB/s |  16 kB     00:00    
Fedora 29 - x86_64                               66 kB/s |  19 kB     00:00    
RPM Fusion for Fedora 29 - Free - Updates       5.5 kB/s | 3.6 kB     00:00    
RPM Fusion for Fedora 29 - Free                 6.0 kB/s | 3.2 kB     00:00    
RPM Fusion for Fedora 29 - Nonfree - Updates     11 kB/s | 3.7 kB     00:00    
RPM Fusion for Fedora 29 - Nonfree              5.0 kB/s | 3.2 kB     00:00    
Dependencies resolved.
================================================================================
 Package              Architecture  Version                Repository      Size
================================================================================
Upgrading:
 libjpeg-turbo        i686          2.0.2-1.fc29           updates        167 k
 openldap             i686          2.4.46-10.fc29         updates        299 k
Reinstalling:
 libjpeg-turbo        x86_64        2.0.2-1.fc29           updates        158 k
     replacing  libjpeg-turbo.x86_64 2.0.2-1.fc29
 openldap             x86_64        2.4.46-10.fc29         updates        281 k
     replacing  openldap.x86_64 2.4.46-10.fc29

Transaction Summary
================================================================================
Upgrade  2 Packages

Total size: 906 k
Total download size: 439 k
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] libjpeg-turbo-2.0.2-1.fc29.i686.rpm: Already downloaded              
[SKIPPED] openldap-2.4.46-10.fc29.i686.rpm: Already downloaded                 
(3/4): libjpeg-turbo-2.0.2-1.fc29.x86_64.rpm    376 kB/s | 158 kB     00:00    
(4/4): openldap-2.4.46-10.fc29.x86_64.rpm       634 kB/s | 281 kB     00:00    
--------------------------------------------------------------------------------
Total                                           570 kB/s | 439 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/lib64/liblber-2.4.so.2.10.9 from install of openldap-2.4.46-10.fc29.x86_64 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/lib64/libldap-2.4.so.2.10.9 from install of openldap-2.4.46-10.fc29.x86_64 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/lib64/libldap_r-2.4.so.2.10.9 from install of openldap-2.4.46-10.fc29.x86_64 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/lib64/libslapi-2.4.so.2.10.9 from install of openldap-2.4.46-10.fc29.x86_64 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/share/man/man5/ldap.conf.5.gz from install of openldap-2.4.46-10.fc29.x86_64 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/lib64/libjpeg.so.62.3.0 from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/man/man5/ldap.conf.5.gz from install of openldap-2.4.46-10.fc29.i686 conflicts with file from package openldap-2.4.46-9.fc29.x86_64
  file /usr/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64

Error Summary
-------------

Hi Rjfedora,

Had similar issue on a centos server recently, with several conflicts & duplications after a failed update. Removing entries from the rpm database resolved the issue for me, this doesn’t actually uninstall anything. I suggest trying the following:

rpm -e --nodeps --justdb openldap-2.4.46-9.fc29.x86_64
rpm -e --nodeps --justdb libjpeg-turbo-2.0.0-3.fc29.x86_64
sudo dnf reinstall libjpeg-turbo openldap

Thanks Tom.

3 Likes

+1

That’ll be the way to go now. We do try to avoid it as much as possible, since it is hard to say if it’s only a stray entry in the database. That depends on what stage of the transaction the update failed.

Please emove, reinstall, attempt upgrade, and let us know how that goes.

I would pay more attention to critical system tasks such as upgrades :slight_smile:

1 Like

SUCCESS!!! Thanks to @tjdoyle and especially @FranciscoD or all the help and time spent!
I did the remove and reinstall as suggested and then ran dnf check-update which showed a problem with the i686 versions of those packages, so I did the exact same with the i686 versions of openldap and libjpeg-turbo (remove and reinstall) and then ran the system-upgrade and all worked fine. Sorry it took me so long to get back today, but I had a bunch of prior commitments. R.J.

3 Likes

No worries! Glad it worked!