如何在 RedHat RHEL 7 上安装 libstdc++.i686?

如何在 RedHat RHEL 7 上安装 libstdc++.i686?
yum install libstdc++.i686

...

Transaction check error:
  file /usr/share/gcc-4.8.2/python/libstdcxx/v6/printers.pyc from install of libstdc++-4.8.5-16.el7_4.1.i686 conflicts with file from package libstdc++-4.8.5-16.el7_4.1.x86_64
  file /usr/share/gcc-4.8.2/python/libstdcxx/v6/printers.pyo from install of libstdc++-4.8.5-16.el7_4.1.i686 conflicts with file from package libstdc++-4.8.5-16.el7_4.1.x86_64

这说明了什么?我该如何解决?

这就是我需要它的原因: https://docs.bmc.com/docs/brid91/en/preparing-a-unix-environment-610402414.html#PreparingaUNIXenvironment-PreparingtoinstallonRedHatLinux

是的,我确实尝试作弊,只链接了 64 位

# ln -s /usr/lib64/libstdc++.so.6 /lib/libstdc++.so.6

# ls -lad libstdc++.so.6
lrwxrwxrwx. 1 root root 25 25. Dez 09:53 libstdc++.so.6 -> /usr/lib64/libstdc++.so.6

但结果是这样的:

./arcache: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

答案1

我也遇到了同样的问题。我能够使用 yum 下载 RPM,然后强制安装 rpm。

$ sudo yum install --downloadonly --downloaddir=/var/tmp/ libstdc++.i686
$ sudo rpm -ivh --force --nodeps /var/tmp/libstdc++-<VERSION>.i686.rpm

好吃

--downloadonly - 仅将软件包下载到 RPM 中

--downloaddir - 下载 RPM 到指定目录

转速

–ivh – 安装/详细日志/打印哈希以了解进度

--force - 忽略现有安装,这将忽略上述错误

--nodeps——忽略依赖关系

答案2

它说你的 i686 包与你的 x86_64 包不匹配(必须具有相同的版本号),请先更新 x86_64 包,然后重试:

yum update -y libstdc++.x86_64
yum install libstdc++.i686

答案3

我不得不扩展一些先前的答案,因为它们不会安装所有的依赖项。

yum install libstdc++.x86_64 -y
rpm -e --nodeps libstdc++.x86_64
rm -f /var/tmp/libstdc*
yum install libstdc++.i686 -y
rpm -e --nodeps libstdc++.i686
yum install --downloadonly --downloaddir=/var/tmp/ libstdc++.i686
yum install libstdc++.x86_64 -y
rpm -ivh --force --nodeps /var/tmp/libstdc++*
rm -f /var/tmp/libstdc*

答案4

简单的评论,但 x86_64 的更新在我看来显然是正确的答案!对我来说,小修改就是

yum update -y libstdc++.x86_64 libstdc++.i686

相关内容