8

I am getting a series of errors similar to this

file /usr/share/doc/glibc/NEWS from install of glibc-2.25-10.fc26.i686 conflicts with file from package glibc-2.25-7.fc26.x86_64

when I try to dnf update, and a Python exception when I dnf install anything. These are a new errors that appeared at the same time, possibly related to a power failure I suffered yesterday in the middle of a dnf update, although the history log appears to suggest it had finished, with some errors, before the power went out.

Full errors for a current dnf update:

Error: Transaction check error:
  file /usr/share/doc/glibc/NEWS from install of glibc-2.25-10.fc26.i686 conflicts with file from package glibc-2.25-7.fc26.x86_64
  file /usr/share/man/man1/xmlwf.1.gz from install of expat-2.2.4-1.fc26.i686 conflicts with file from package expat-2.2.1-1.fc26.x86_64
  file /usr/share/doc/sqlite-libs/README.md from install of sqlite-libs-3.20.1-1.fc26.i686 conflicts with file from package sqlite-libs-3.19.3-1.fc26.x86_64
  file /usr/share/doc/gdk-pixbuf2/NEWS from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/fur/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/kk/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/locale/tr/LC_MESSAGES/gdk-pixbuf.mo from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/man/man1/gdk-pixbuf-query-loaders.1.gz from install of gdk-pixbuf2-2.36.9-1.fc26.i686 conflicts with file from package gdk-pixbuf2-2.36.7-1.fc26.x86_64
  file /usr/share/doc/libidn2/README.md from install of libidn2-2.0.4-1.fc26.i686 conflicts with file from package libidn2-2.0.2-1.fc26.x86_64
  file /usr/share/doc/libidn2/NEWS from install of libidn2-2.0.4-1.fc26.i686 conflicts with file from package libidn2-2.0.2-1.fc26.x86_64
  file /usr/share/info/libidn2.info.gz from install of libidn2-2.0.4-1.fc26.i686 conflicts with file from package libidn2-2.0.2-1.fc26.x86_64
  file /usr/share/man/man1/idn2.1.gz from install of libidn2-2.0.4-1.fc26.i686 conflicts with file from package libidn2-2.0.2-1.fc26.x86_64
  file /usr/share/man/man5/cert8.db.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/cert9.db.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/key3.db.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/key4.db.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/pkcs11.txt.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/secmod.db.5.gz from install of nss-3.32.0-1.1.fc26.i686 conflicts with file from package nss-3.30.2-1.1.fc26.x86_64
  file /usr/share/man/man5/k5identity.5.gz from install of krb5-libs-1.15.1-25.fc26.i686 conflicts with file from package krb5-libs-1.15.1-17.fc26.x86_64
  file /usr/share/man/man5/k5login.5.gz from install of krb5-libs-1.15.1-25.fc26.i686 conflicts with file from package krb5-libs-1.15.1-17.fc26.x86_64
  file /usr/share/man/man5/krb5.conf.5.gz from install of krb5-libs-1.15.1-25.fc26.i686 conflicts with file from package krb5-libs-1.15.1-17.fc26.x86_64
  file /usr/share/doc/wine-core/AUTHORS from install of wine-core-2.15-1.fc26.i686 conflicts with file from package wine-core-2.12-1.fc26.x86_64
  file /usr/share/doc/wine-core/VERSION from install of wine-core-2.15-1.fc26.i686 conflicts with file from package wine-core-2.12-1.fc26.x86_64
  file /usr/share/doc/wine-core/ANNOUNCE from install of wine-core-2.15-1.fc26.i686 conflicts with file from package wine-core-2.12-1.fc26.x86_64
  file /usr/share/doc/pango/NEWS from install of pango-1.40.11-3.fc26.i686 conflicts with file from package pango-1.40.7-1.fc26.x86_64
  file /usr/share/man/man1/pango-view.1.gz from install of pango-1.40.11-3.fc26.i686 conflicts with file from package pango-1.40.7-1.fc26.x86_64
  file /usr/share/doc/gtk3/README from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/doc/gtk3/NEWS from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/cs/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/de/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/es/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/fi/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/fr/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/fur/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/gl/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/hr/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/id/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/kk/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/lt/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/ne/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/pl/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/pt_BR/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/sk/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/sl/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/sr/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/locale/sr@latin/LC_MESSAGES/gtk30.mo from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/man/man1/broadwayd.1.gz from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/man/man1/gtk-launch.1.gz from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/man/man1/gtk-query-immodules-3.0.1.gz from install of gtk3-3.22.19-1.fc26.i686 conflicts with file from package gtk3-3.22.17-2.fc26.x86_64
  file /usr/share/doc/libsoup/NEWS from install of libsoup-2.58.2-1.fc26.i686 conflicts with file from package libsoup-2.58.1-2.fc26.x86_64
  file /usr/share/doc/libgusb/NEWS from install of libgusb-0.2.11-1.fc26.i686 conflicts with file from package libgusb-0.2.10-1.fc26.x86_64
  file /usr/share/doc/p11-kit/NEWS from install of p11-kit-0.23.8-1.fc26.i686 conflicts with file from package p11-kit-0.23.5-3.fc26.x86_64
  file /usr/share/man/man1/trust.1.gz from install of p11-kit-0.23.8-1.fc26.i686 conflicts with file from package p11-kit-0.23.5-3.fc26.x86_64
  file /usr/share/man/man5/pkcs11.conf.5.gz from install of p11-kit-0.23.8-1.fc26.i686 conflicts with file from package p11-kit-0.23.5-3.fc26.x86_64
  file /usr/share/man/man8/p11-kit.8.gz from install of p11-kit-0.23.8-1.fc26.i686 conflicts with file from package p11-kit-0.23.5-3.fc26.x86_64

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

Error from dnf install [anything]:

Last metadata expiration check: 0:15:05 ago on Tue 05 Sep 2017 11:09:50 AEST.
Traceback (most recent call last):
  File "/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 179, in user_main
    errcode = main(args)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 64, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 99, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 115, in cli_run
    cli.run()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 962, in run
    return self.command.run()
  File "/usr/lib/python3.6/site-packages/dnf/cli/commands/install.py", line 120, in run
    self.base.install(pkg_spec, strict=strict, forms=forms)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 1582, in install
    subj._is_arch_specified(self.sack):
  File "/usr/lib/python3.6/site-packages/dnf/subject.py", line 71, in _is_arch_specified
    q = self._nevra_to_filters(sack.query(), nevra)
  File "/usr/lib/python3.6/site-packages/dnf/subject.py", line 49, in _nevra_to_filters
    query._filterm(*flags, **{name + '__glob': attr})
  File "/usr/lib/python3.6/site-packages/dnf/query.py", line 93, in _filterm
    return super(Query, self)._filterm(*args, **nargs)
AttributeError: 'super' object has no attribute '_filterm'

Errors from the end of dnf history info 52 (the update before the power failure):

Scriptlet output:
   1 warning: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-5.b01.fc26.x86_64/jre/lib/security/java.security created as /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-5.b01.fc26.x86_64/jre/lib/security/java.security.rpmnew
   2 error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
   3 error: cannot open Packages index using db5 -  (-30969)
   4 error: cannot open Packages database in /var/lib/rpm
   5 error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
   6 error: cannot open Packages index using db5 -  (-30969)
   7 error: cannot open Packages database in /var/lib/rpm
   8 error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
   9 error: cannot open Packages index using db5 -  (-30969)
  10 error: cannot open Packages database in /var/lib/rpm
  11 error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
  12 error: cannot open Packages index using db5 -  (-30969)
  13 error: cannot open Packages database in /var/lib/rpm
  14 restored /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-5.b01.fc26.x86_64/jre/lib/security/java.security.rpmnew to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-5.b01.fc26.x86_64/jre/lib/security/java.security
Jeff Schaller
  • 66,199
  • 35
  • 114
  • 250
lvc
  • 296
  • 1
  • 3
  • 8

2 Answers2

11

The most typical cause of this error is trying to install packages without having everything up to date. That sometimes causes new dependencies to be brought in which conflict with packages already on disk, and dnf doesn't know that it should update those otherwise-unrelated packages.

In your case, it seems to be something else, since you are seeing the problem while running the update. Here, though, the error is definitely something out of sync between available and installed versions in the different architectures. For example:

file /usr/share/doc/glibc/NEWS from install of 
    glibc-2.25-10.fc26.i686 conflicts with file from package 
    glibc-2.25-7.fc26.x86_64

Linebreaks added to make this obvious: It's trying to install newer i686 packages and it doesn't know to update older glibc.

The first thing I'd check is to see if you have multiple versions of the x86_64 glibc installed. If so, run sudo dnf repoquery --duplicates see the extra versions, and dnf remove --duplicates to clean up. (This will leave the files belonging to the latest package, so is safe even if it tries to remove things which seem important.)

If that's not the case, it may simply be the mirror you are hitting now is not as up-to-date as the one you got earlier. In that case, try sudo dnf clean all and update again.

If that doesn't work, you can often resolve this by temporarily removing all i686 packages. The system will function without them, and then you can do the update, and then put back what you need for compatibility with 32-bit apps.

If you are still getting db errors, you may have a different problem at the RPM level — but start with the above.

mattdm
  • 39,535
  • 18
  • 99
  • 133
  • `dnf repoquery --duplicates` does come out with a long list of mostly x86_64 packages (and some i686 ones), including multiple versions of some packages - but doesn't seem to actually *remove* any of them. But if I'm understanding you correctly, when it lists two x86_64 versions of a package that would mean I have *three* of it installed, and it should be safe for me to do something like `dnf repoquery --duplicates | xargs dnf remove`? – lvc Sep 06 '17 at 09:26
  • 1
    Sorry, `dnf remove --duplicates` to remove. I'll add that. – mattdm Sep 06 '17 at 15:55
  • `dnf remove --duplicates` tells me, twice, that it "would result in removing the following protected packages: dnf, sudo". I found a [fedora bugzilla thread discussing removing protected packages](https://bugzilla.redhat.com/show_bug.cgi?id=1465292), and tried `dnf remove --duplicates --disableplugin=protected_packages` for the same error, and `dnf remove --disableplugin=protected_packges libdnf-0:0.9.2-1.fc26.x86_64` for the same Python traceback as trying to `dnf install` anything. – lvc Sep 07 '17 at 02:42
  • Hmmm. Given the db errors, can you try `sudo rpm --rebuilddb`? Should run with no errors and *may* fix the problem. – mattdm Sep 07 '17 at 05:44
  • `rpm --rebuilddb` did indeed run without errors, but doesn't seem to have fixed the problems. The Python traceback makes me wonder if my dnf is finding the wrong version of a module, although it seems strange that the only relevant duplicates are `libdnf.x86_64` (ie, native code) but the traceback only mentions pure Python files. Should I perhaps be trying to remove the libdnf dups at the rpm level, and/or reinstall dnf itself? In which case, I would need to find the rpms - would they still be cached on my system somewhere? – lvc Sep 07 '17 at 13:39
1

I got past the Python exception by booting from a live USB, and using dnf --installroot=/mnt/fedora; the package conflicts kept coming, including errors when I tried to dnf remove --duplicates or even trying to remove packages one-by-one. So I ended up deciding the system was not fixable, and reinstalling Fedora - along with finally getting around to setting up snapper so there's an easy fix next time something like this happens.

lvc
  • 296
  • 1
  • 3
  • 8