File conflicts from package

So, I’m trying to upgrade my Fedora 34 installation to new Fedora 35 but after entering $ dnf update it says:

Error: Transaction test error:
  file /usr/share/doc/libgusb/NEWS from install of libgusb-0.3.8-1.fc34.i686 conflicts with file from package libgusb-0.3.7-1.fc34.x86_64

I’m new to Fedora, and I’ve also tried to search for the problem but didn’t understand what it is I’m dealing with, so I decided not to do anything which I don’t understand!
Can anybody explain what is happening and how can I solve this issue?

Thanks in advance!

3 Likes

Would you please paste the output of the following commands?

sudo dnf list installed libgusb --showduplicates
sudo dnf list available libgusb --showduplicates

You may try
sudo dnf distro-sync

Looks like a version conflict.

libgusb-0.3.8-1.fc34.i686 
libgusb-0.3.7-1.fc34.x86_64

Both should be of the same version.

Here:

➜  ~  sudo dnf distro-sync
Last metadata expiration check: 1:14:46 ago on Thu 18 Nov 2021 23:15:09.
Error: 
 Problem: The operation would result in removing the following protected packages: gnome-shell, grub2-efi-ia32, grub2-efi-x64, grub2-pc, grub2-tools-minimal, systemd, systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
➜  ~ sudo dnf list installed libgusb --showduplicates
[sudo] password for user: 
Installed Packages
libgusb.i686                                                                                0.3.7-1.fc34                                                                              @updates
libgusb.x86_64                                                                              0.3.7-1.fc34                                                                              @updates
libgusb.x86_64                                                                              0.3.8-1.fc34                                                                              @updates
➜  ~ sudo dnf list available libgusb --showduplicates
Last metadata expiration check: 1:10:57 ago on Thu 18 Nov 2021 23:15:09.
Available Packages
libgusb.i686                                                                                0.3.6-1.fc34                                                                               fedora 
libgusb.x86_64                                                                              0.3.6-1.fc34                                                                               fedora 
libgusb.i686                                                                                0.3.8-1.fc34                                                                               updates
libgusb.x86_64                                                                              0.3.8-1.fc34      

@huben What shall I do now?

1 Like

What is the output of the following command:

rpm -qa libgusb*

Regards.,

2 Likes
$ rpm -qa libgusb*
libgusb-0.3.7-1.fc34.x86_64
libgusb-0.3.7-1.fc34.i686
libgusb-0.3.8-1.fc34.x86_64
$

@hhlp

Type this, let’s remove the additional package without removing any dependencies.

sudo rpm -e --nodeps libgusb-0.3.8-1.fc34.x86_64

and try upgrade/update again…

Regards.,

3 Likes

This might not be the only package, list them with:
dnf repoquery --duplicates

To get a better picture, list them here.

dnf remove --duplicates
Can remove all older packages and should reinstall the newer version in order to maintain system integrety.

2 Likes

Just remove the 32-bit version of the package:

sudo dnf remove libgusb-0.3.8-1.fc34.i686
2 Likes

I wish i would have seen this post when I went through with this a coiuple days ago. :smiley: I did dnf swap and kept the .i686 package. Can i easily upgrade to the .x86_64 package?

dnf swap libva-1:2.13.0-1.fc35.x86_64 libva-2.13.0-2.fc35.x86_64

dnf swap gstreamer1-plugins-base-1.19.2-1.fc35.x86_64 gstreamer1-plugins-base-1.19.3-1.fc35.i686

dnf swap gstreamer1-1.19.2-1.fc35.x86_64 gstreamer1-1.19.3-1.fc35.i686

Can I swap back to the x86_64 safely?

If your system is running fedora 34 or 35 it most certainly is running a 64 bit kernel. With fedora 34 they totally dropped the 32 bit kernel so 64 bit is the way to go from now on.

You should most certainly swap everything back 64 bit, including the removal of libgusb-0.3.8-1.fc34.i686 as previously suggested. That libgusb package was the cause of the original conflict.

2 Likes

I think it was a total of about 10 packages I did dnf swap, thank I’ll check on that.

The 32 bit versions can still be useful for compatibility reasons.
E.g. the steam client still is 32 bit.
So systems legitimately can have both versions installed.

2 Likes

Yeah — the problem here isn’t that both are installed but that somehow their versions got out of sync. Removing the i686 package is a good temporary solution, and then after upgrading the system you can probably reinstall (a newer release of) that.

2 Likes