我正在尝试将 32 位版本的 GTK 安装到 RedHat 7 Enterprise 系统上。由于该系统尚未在 Red Hat 注册,因此我暂时使用 Centos 7 存储库。如果我理解正确的话,这两个系统没有区别,所以这不应该是一个问题。
我安装(或尝试安装)32 位版本的原因是为了支持旧版应用程序。
这是我遇到问题的命令:
yum install gtk2-2.24.31-1.el7.i686
当我输入它时,它会返回以下结果:
Protected multilib versions: mesa-libgbm-18.0.5-3.el7.i686 != mesa-libgbm-18.0.5-4.el7_6.x86_64
Error: Protected multilib versions: mesa-libEGL-18.0.5-3.el7.i686 != mesa-libEGL-18.0.5-4.el7_6.x86_64
Error: Protected multilib versions: systemd-libs-219-62.el7.i686 != systemd-libs-219-62.el7_6.5.x86_64
Error: Protected multilib versions: mesa-libglapi-18.0.5-3.el7.i686 != mesa-libglapi-18.0.5-4.el7_6.x86_64
Error: Protected multilib versions: mesa-libGL-18.0.5-3.el7.i686 != mesa-libGL-18.0.5-4.el7_6.x86_64
Error: Protected multilib versions: krb5-libs-1.15.1-34.el7.i686 != krb5-libs-1.15.1-37.el7_6.x86_64
根据这个链接:
https://support.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0131971,
我做了以下事情:
yum search gtk2 --showduplicates | grep -v x86_64
结果包括 64 位版本(我正在尝试安装 32 位版本)。
gtk2-2.24.31-1.el7.i686
然后,我执行以下操作来查看已安装的 64 位版本:
rpm -q gtk2
这表明:
gtk2-2.24.31-1.el7.x86_64
然后,按照说明进行上面列出的安装:
yum install gtk2-2.24.31-1.el7.i686
产生的错误消息如上所示。
我已经考虑过卸载 64 位 mesa-libraries,但有 3.2 Gigs 的应用程序依赖于它。
我认为这篇文章的重点是确保 32 位库与 64 位库兼容。然而,与帖子中不同的是,底层库没有相同的版本:
Protected multilib versions: mesa-libgbm-18.0.5-3.el7.i686 != mesa-libgbm-18.0.5-4.el7_6.x86_64
如您所见,mesa-libgbm-18.0.5-3.el7.i686 版本号 (18.0.5-3.el7) 与 32 位版本号 (18.0.5-4.el7_6) 略有不同。