解决多库版本问题

解决多库版本问题

我用CentOS 6.4

当我尝试安装 libgcc 时,yum install libgcc.i686我进行了以下操作。

Error:  Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem. Eg.:
       
         1. You have an upgrade for libgcc which is missing some
            dependency that another package requires. Yum is trying to
            solve this by installing an older version of libgcc of the
            different architecture. If you exclude the bad architecture
            yum will tell you what the root cause is (which package
            requires what). You can try redoing the upgrade with
            --exclude libgcc.otherarch ... this should give you an error
            message showing the root cause of the problem.
       
         2. You have multiple architectures of libgcc installed, but
            yum can only see an upgrade for one of those arcitectures.
            If you don't want/need both architectures anymore then you
            can remove the one with the missing update and everything
            will work.
       
         3. You have duplicate versions of libgcc installed already.
            You can use "yum check" to get yum show these errors.
       
       ...you can also use --setopt=protected_multilib=false to remove
       this checking, however this is almost never the correct thing to
       do as something else is very likely to go wrong (often causing
       much more problems).
       
       Protected multilib versions: libgcc-4.4.7-4.el6.i686 != libgcc-4.4.7-3.el6.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles –nodigest

我该如何安装libgcc.i686

答案1

看来您的版本与您尝试安装的libgcc.x86_64版本不同(与)。尝试在安装 i686-lib 的同时更新 x86_64 lib:libgcc.i6864.4.7-34.4.7-4

yum install libgcc.x86_64 libgcc.i686

答案2

我在中断后遇到了这个问题yum update(在我的情况下是在 ansible 运行期间)。阅读后此主题我最终用以下方法修复了它:

package-cleanup --cleandupes

虽然在此之前我也曾尝试按照@etagenklo 的建议运行命令,并且还尝试过:

yum-complete-transaction
yum-complete-transaction --cleanup-only
yum check                # report generally
package-cleanup --dupes  # report on duplicate packages in particular

答案3

我认为值得一提,因为这是我的问题检查

/etc/yum.repos.d/*

并检查是否有未使用或非官方来源

答案4

我们怎样才能修复这个错误?

Error:  Multilib version problems found.

这通常意味着根本原因是其他原因,而多库版本检查只是指出存在问题。例如:

  1. 您有一个 apr 升级,但缺少其他软件包所需的依赖项。Yum 正在尝试通过安装不同架构的旧版 apr 来解决此问题。如果您排除不良架构,yum 将告诉您根本原因是什么(哪个软件包需要什么)。您可以尝试使用 --exclude apr.otherarch ...此方法重新进行升级,应该会显示一条错误消息,显示问题的根本原因。

  2. 您安装了多个架构的 apr,但 yum 只能看到其中一个架构的升级。如果您不再需要/想要这两个架构,那么您可以删除缺少更新的架构,然后一切都会正常工作。

  3. 您已安装了重复的 apr 版本。您可以使用yum checkyum 显示这些错误。

    ...您也可以用来--setopt=protected_multilib=false删除此检查,但是这几乎从来都不是正确的做法,因为其他事情很可能会出错(通常会导致更多问题)。

    Error:
    Protected multilib versions: apr-1.3.9-5.el6_2.i686 != apr-1.5.2-2.x86_64
    Protected multilib versions: apr-util-1.3.9-3.el6_0.1.i686 != apr-util-1.5.4-2.x86_64
    

相关内容