Unable to update system with dnf update: file $SOME_FILE from install of $PACKAGE.i686 conflicts with file from package $PACKAGE.x86_64

I recently ran into this issue, that prevented me from updating the system.

Any time i’d run dnf update, the process would end in errors such as:

$ sudo dnf update
(…)
Total                                                                                                                                                                                                                                           4.2 MB/s | 658 MB     02:36     
Delta RPMs reduced 686.6 MB of updates to 657.7 MB (4.1% saved)                                                                                                                                                                                                                 
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 test error:                                                                                                                                                                                                                                                  
  file /usr/share/doc/gtk3/NEWS from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64                                                                                                                                            
  file /usr/share/doc/gtk3/README from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64                                                                                                                                          
  file /usr/share/locale/fi/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/gl/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/hu/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/ja/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/ko/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/nl/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/pt/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/zh_CN/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/man/man1/broadwayd.1.gz from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/man/man1/gtk-launch.1.gz from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/man/man1/gtk-query-immodules-3.0.1.gz from install of gtk3-3.24.23-1.fc32.i686 conflicts with file from package gtk3-3.24.22-1.fc32.x86_64
  file /usr/share/locale/en@boldquot/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.181-1.fc32.i686 conflicts with file from package elfutils-libelf-0.179-2.fc32.x86_64
  file /usr/share/locale/en@quot/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.181-1.fc32.i686 conflicts with file from package elfutils-libelf-0.179-2.fc32.x86_64
  file /usr/share/locale/uk/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.181-1.fc32.i686 conflicts with file from package elfutils-libelf-0.179-2.fc32.x86_64
  file /usr/share/doc/libssh/ChangeLog from install of libssh-0.9.5-1.fc32.i686 conflicts with file from package libssh-0.9.4-3.fc32.x86_64

Essentially, both the 32 bit (i686) and the 64 bit (x86_64) version of packages looked like they were installed (or partially installed?) and confusing dnf.

As recommended elsewhere, i went looking for duplicate packages with dnf repoquery --duplicates and indeed, this showed multiple packages installed twice:

$ sudo dnf repoquery --duplicates
Last metadata expiration check: 2:00:47 ago on Tue 06 Oct 2020 14:17:31 BST.                                                                                                                                                                                                    
armadillo-0:9.900.2-1.fc32.x86_64                                                                                                                                                                                                                                               
armadillo-0:9.900.3-2.fc32.x86_64                                                                                                                                                                                                                                               
bluez-0:5.54-1.fc32.x86_64                                                                                                                                                                                                                                                      
bluez-0:5.55-1.fc32.x86_64                                                                                                                                                                                                                                                      
bluez-cups-0:5.54-1.fc32.x86_64                                                                                                                                                                                                                                                 
bluez-cups-0:5.55-1.fc32.x86_64                                                                                                                                                                                                                                                 
bluez-libs-0:5.54-1.fc32.x86_64                                                                                                                                                                                                                                                 
bluez-libs-0:5.55-1.fc32.x86_64                                                                                                                                                                                                                                                 
bluez-obexd-0:5.54-1.fc32.x86_64                                                                                                                                                                                                                                                
bluez-obexd-0:5.55-1.fc32.x86_64                                                                                                                                                                                                                                                
chromium-0:85.0.4183.102-1.fc32.x86_64                                                                                                                                                                                                                                          
chromium-0:85.0.4183.83-1.fc32.x86_64                                                                                                                                                                                                                                           
chromium-common-0:85.0.4183.102-1.fc32.x86_64                                                                                                                                                                                                                                   
chromium-common-0:85.0.4183.83-1.fc32.x86_64                                                                                                                                                                                                                                    
clang-0:10.0.0-2.fc32.x86_64                                                                                                                                                                                                                                                    
clang-0:10.0.1-2.fc32.x86_64
(…)

Among these packages, those that dnf update was getting stuck on. Sounds promising.

I tried to use dnf remove --duplicates to clear this situation up, but that didn’t work and showed errors such as:

$ sudo dnf remove --duplicates
(…)
Installed package mesa-libOSMesa-20.1.8-1.fc32.x86_64 not available.
Installed package pcre2-utf32-10.35-6.fc32.x86_64 not available.                                                                        
Installed package mesa-libglapi-20.1.8-1.fc32.x86_64 not available.
Installed package mesa-libEGL-20.1.8-1.fc32.x86_64 not available.                                                                       
Installed package mesa-libgbm-20.1.8-1.fc32.x86_64 not available.
Installed package pcre2-utf16-10.35-6.fc32.x86_64 not available.
Installed package firefox-81.0-7.fc32.x86_64 not available.
Installed package xen-licenses-4.13.1-5.fc32.x86_64 not available.
Installed package xen-libs-4.13.1-5.fc32.x86_64 not available.
Installed package chromium-common-85.0.4183.102-1.fc32.x86_64 not available.
Installed package firefox-wayland-81.0-7.fc32.x86_64 not available.
Error:                                                                                                                                                                                                                                                                          
 Problem 1: problem with installed package mesa-libGL-20.1.7-1.fc32.i686                                                                                                                                                                                                        
  - mesa-libGL-20.0.4-1.fc32.i686 has inferior architecture                                                                                                                                                                                                                     
  - mesa-libGL-20.1.9-1.fc32.i686 has inferior architecture                                                                                                                                                                                                                     
  - mesa-libGL-20.1.7-1.fc32.i686 has inferior architecture                                                                                                                                                                                                                     
  - conflicting requests                                                                                                                                                                                                                                                        
 Problem 2: problem with installed package mesa-dri-drivers-20.1.7-1.fc32.i686                                                                                                                                                                                                  
  - package mesa-dri-drivers-20.0.4-1.fc32.i686 requires mesa-filesystem(x86-32) = 20.0.4-1.fc32, but none of the providers can be installed                                                                                                                                    
  - package mesa-dri-drivers-20.1.9-1.fc32.i686 requires mesa-filesystem(x86-32) = 20.1.9-1.fc32, but none of the providers can be installed                                                                                                                                    
  - package mesa-dri-drivers-20.1.7-1.fc32.i686 requires mesa-filesystem(x86-32) = 20.1.7-1.fc32, but none of the providers can be installed                                                                                                                                    
  - conflicting requests                                                                                                                                                                                                                                                        
 Problem 3: problem with installed package pcre2-10.35-4.fc32.i686                                                                                                                                                                                                              
  - pcre2-10.34-9.fc32.i686 has inferior architecture                                                                                                                                                                                                                           
  - pcre2-10.35-7.fc32.i686 has inferior architecture                                                                                                                                                                                                                           
  - pcre2-10.35-4.fc32.i686 has inferior architecture                                                                                                                                                                                                                           
  - conflicting requests                                                                                                                                                                                                                                                        
 Problem 4: problem with installed package libproxy-0.4.15-17.fc32.i686                                                                                                                                                                                                         
  - libproxy-0.4.15-19.fc32.i686 has inferior architecture                                                                                                                                                                                                                      
  - libproxy-0.4.15-17.fc32.i686 has inferior architecture                                                                                                                                                                                                                      
  - conflicting requests
 Problem 5: problem with installed package mesa-vulkan-drivers-20.1.7-1.fc32.i686
  - mesa-vulkan-drivers-20.0.4-1.fc32.i686 has inferior architecture 
  - mesa-vulkan-drivers-20.1.9-1.fc32.i686 has inferior architecture 
  - mesa-vulkan-drivers-20.1.7-1.fc32.i686 has inferior architecture 
  - conflicting requests
 Problem 6: problem with installed package mesa-libglapi-20.1.7-1.fc32.i686
  - mesa-libglapi-20.0.4-1.fc32.i686 has inferior architecture
  - mesa-libglapi-20.1.9-1.fc32.i686 has inferior architecture
  - mesa-libglapi-20.1.7-1.fc32.i686 has inferior architecture
  - conflicting requests
 Problem 7: problem with installed package steam-1.0.0.66-1.fc32.i686
  - package steam-1.0.0.66-1.fc32.i686 requires mesa-dri-drivers(x86-32), but none of the providers can be installed
  - package steam-1.0.0.66-2.fc32.i686 requires mesa-dri-drivers(x86-32), but none of the providers can be installed
  - package steam-1.0.0.62-1.fc32.i686 requires mesa-dri-drivers(x86-32), but none of the providers can be installed
  - mesa-dri-drivers-20.0.4-1.fc32.i686 has inferior architecture
  - mesa-dri-drivers-20.1.9-1.fc32.i686 has inferior architecture
  - mesa-dri-drivers-20.1.7-1.fc32.i686 has inferior architecture
  - conflicting requests
 Problem 8: problem with installed package libselinux-3.0-5.fc32.i686
  - package libselinux-3.0-5.fc32.i686 requires libpcre2-8.so.0, but none of the providers can be installed
  - package libselinux-3.0-3.fc32.i686 requires libpcre2-8.so.0, but none of the providers can be installed
  - package pcre2-10.34-9.fc32.i686 requires pcre2-syntax = 10.34-9.fc32, but none of the providers can be installed
  - package pcre2-10.35-7.fc32.i686 requires pcre2-syntax = 10.35-7.fc32, but none of the providers can be installed
  - package pcre2-10.35-4.fc32.i686 requires pcre2-syntax = 10.35-4.fc32, but none of the providers can be installed
  - conflicting requests

Trying to remove these packages one by one looked like it was a/ going to take some time and b/ remove important packages (gtk3, uh, no, i need this) so not an option.

I saw recommended elsewhere to try dnf update --refresh --best --allowerasing but that didn’t work either. The --refresh helped pull new, more up-to-date packages but that’s it.

In the end, what did work was to manually request reinstalling the problematic packages, so in my case:

$ sudo dnf reinstall gtk3-3.24.23-1.fc32 elfutils-libelf-0.181-1.fc32 libssh-0.9.5-1.fc32 

After that, dnf update worked fine.

Hope this helps someone else!

Related Red Hat Bugzilla bug: #1653683

PS: I’d mistakenly run sudo dnf remove mesa-libGL-20.1.7-1.fc32 previously, which removed stuff like steam. I should have reinstalled that package, like the others.

2 Likes

Welcome to ask fedora. When you get a chance please read the posts in the “Start Here” topic so we can all help you better.

Glad you figured it out. Yes, sometimes stuff gets leftover from earlier installs/updates and conflicts with newer packages. The dnf options you used usually work but sometimes you still have to do part of it manually as you found out. Generally there are few .i686 packages that are required now so for the most part as you balance things out and remove the unneeded packages there will be fewer problems with updates. I have occasionally encountered errors similar to yours, but they are very seldom now.

When you remove a package that something else depends on (steam depends on mesa-libGL ) removing that package will also remove what depends on it. Simply keep track of what will be removed and if you want it then do a reinstall after the removal.