dnf crashed and has transaction errors now

3

1

I was running a dnf update on my Fedora 22 system, when Gnome crashed, breaking the run of dnf. Now, when trying again, I get this error:

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/licenses/libpng/LICENSE from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/man/man5/png.5.gz from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/doc/libgpg-error/README from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  [... many more ...]
  file /usr/share/doc/libgpg-error/AUTHORS from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  file /usr/share/doc/pcre/NEWS from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64
  file /usr/share/doc/pcre/ChangeLog from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64

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

How can I force dnf to continue installing the new versions?

Bart Friederichs

Posted 2016-01-11T15:28:47.477

Reputation: 1 000

Answers

1

It look like you have a multilib system — x86_64 with i686 packages also installed. Often, such packages share files, which is no problem as long as they are exactly identical. It seems like here, you got one architecture updated but not the other, and a shared file changed.

The easiest way out of this is to remove the i686 packages. In this case,

sudo dnf remove libpng.i686 libgpg-error.i686 pcre.i686

should do it. It may also remove a bunch of i686 dependencies, which is fine. You can always put them back. Do this, and then upgrade, and then put back any 32-bit programs you really need.

mattdm

Posted 2016-01-11T15:28:47.477

Reputation: 2 324

Thanks, but I did an upgrade from 22 to 23 anyway and that worked as well. Had some issues with other packages, but removing and re-installing them fixed that. – Bart Friederichs – 2016-01-13T07:43:57.313

2

I used rpm to force the upgrade, without removing the i686 packages first. dnf helpfully saves the RPM files in /var/cache/dnf/updates-<tx-id>/packages/:

sudo rpm -i --force /var/cache/dnf/updates-<tx-id>/packages/<package>.rpm

Dan Berindei

Posted 2016-01-11T15:28:47.477

Reputation: 143