Shared doc files in dependencies causing transaction errors

萝らか妹 提交于 2019-12-13 16:19:43

问题


I recently installed Fedora 24 Workstation on my desktop and was able to install everything without issue, until I tried to install steam (from rpmfusion) and wine. Both steam and wine have 32-bit dependencies of libraries that are already installed in 64-bit and used by other, more important programs. Typically, this shouldn't be an issue, but it turns out that all of the doc files in /usr/share/doc or /usr/share/licenses, etc are causing conflicts upon installation of the 32-bit version of the libraries. What is my best course of action here?

Error: Transaction check error:
  file /usr/share/doc/glibc/NEWS from install of glibc-2.23.1-8.fc24.i686 conflicts with file from package glibc-2.23.1-7.fc24.x86_64
  file /usr/share/licenses/libpng/LICENSE from install of libpng-2:1.6.23-1.fc24.i686 conflicts with file from package libpng-2:1.6.21-2.fc24.x86_64
  file /usr/share/man/man5/png.5.gz from install of libpng-2:1.6.23-1.fc24.i686 conflicts with file from package libpng-2:1.6.21-2.fc24.x86_64
  file /usr/share/doc/pcre/NEWS from install of pcre-8.39-2.fc24.i686 conflicts with file from package pcre-8.38-11.fc24.x86_64
  file /usr/share/doc/pcre/AUTHORS from install of pcre-8.39-2.fc24.i686 conflicts with file from package pcre-8.38-11.fc24.x86_64
  file /usr/share/licenses/pcre/LICENCE from install of pcre-8.39-2.fc24.i686 conflicts with file from package pcre-8.38-11.fc24.x86_64
  file /usr/share/doc/gmp/NEWS from install of gmp-1:6.1.1-1.fc24.i686 conflicts with file from package gmp-1:6.1.0-2.fc24.x86_64
  file /usr/share/doc/libgcrypt/NEWS from install of libgcrypt-1.6.5-1.fc24.i686 conflicts with file from package libgcrypt-1.6.4-2.fc24.x86_64

... and many more.


回答1:


There is special magic which allows files from multiple archs to overlap if they are identical in contents and metadata. But, from your example, you have many lines like this:

file /usr/share/doc/glibc/NEWS from install of glibc-2.23.1-8.fc24.i686 conflicts with file from package glibc-2.23.1-7.fc24.x86_64

file /usr/share/licenses/libpng/LICENSE from install of libpng-2:1.6.23-1.fc24.i686 conflicts with file from package libpng-2:1.6.21-2.fc24.x86_64

Note the emphasis I've added — the versions don't match. This means that even if the files are identical, they probably have different dates — which means you get conflicts.

Solution: update your system before installing the i686 packages.

If you happen to be in a situation where the existing x86_64 packages are newer, which could also happen, that means the i686 mirror you are hitting is out of date — but since that's a different problem, I'll leave it for some future question. I just wanted to mention it as a possibility for completeness.

Note that in this case, the problem is conflicts. We had a situation a year or so ago where the package state was such that if people didn't update and then installed newer i686 packages, they actually hosed their systems. That was a bug and shouldn't have happened — but the general practice of "update before install" would have avoided it.



来源:https://stackoverflow.com/questions/38558676/shared-doc-files-in-dependencies-causing-transaction-errors

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!