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!
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.
Both should be of the same version.
➜ ~ sudo dnf distro-sync
Last metadata expiration check: 1:14:46 ago on Thu 18 Nov 2021 23:15:09.
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:
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.
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
@huben What shall I do now?
What is the output of the following command:
rpm -qa libgusb*
$ rpm -qa libgusb*
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…
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.
Just remove the 32-bit version of the package:
sudo dnf remove libgusb-0.3.8-1.fc34.i686
I wish i would have seen this post when I went through with this a coiuple days ago. 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.
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.
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.