我遇到了这个错误。无法安装任何RPM。请帮忙
操作系统是RHEL6.9 64位
提前致谢。
答案 0 :(得分:2)
自2017年11月27日我从CentOS 7.4的来源安装XZ Utils
5.2.3并将liblzma.so.5.2.3
从/usr/local/lib/
复制到/lib64/
以来,我遇到了类似的问题。
此问题的原因是库librpmio.so.3
,它需要在lzma共享库中定义符号XZ_5.1.2alpha
。 liblzma.so.5.2.2
定义了此符号,但liblzma.so.5.2.3
没有。
没有XZ更新,最新版本的lzma库是5.2.2,我有符号链接/lib64/liblzma.so.5
- > /lib64/liblzma.so.5.2.2
。在复制liblzma.so.5.2.3
和一些进一步更新后,链接已更改为最新文件,即/lib64/liblzma.so.5
- > /lib64/liblzma.so.5.2.3
。这破坏了rpm
和yum
命令。
所以,解决方案是:
将/lib64/liblzma.so.5
链接回/lib64/liblzma.so.5.2.2
:
cd /lib64
sudo ln -s -f liblzma.so.5.2.2 liblzma.so.5
删除档案/lib64/liblzma.so.5.2.3
第二个可能的原因可能是环境变量LD_LIBRARY_PATH
。检查它是否包含不需要的路径并清除它。
答案 1 :(得分:0)
当您从RHEL(或CentOS)7系统上的源下载并安装xz时,会发生这种情况。问题是xz的已发布版本中不存在XZ_5.1.2alpha
标签,但它出现在RedHat发布的版本中并进行编译。
xz源的小补丁将解决问题:
https://github.com/easybuilders/easybuild-easyconfigs/issues/4036
补丁足够小,可以在这里复制和粘贴。我已成功在xz-5.2.4上使用它。
--- src/liblzma/liblzma.map.orig 2015-09-29 12:57:36.000000000 +0200
+++ src/liblzma/liblzma.map 2017-02-22 11:10:33.432868185 +0100
@@ -95,7 +95,13 @@
lzma_vli_size;
};
-XZ_5.2 {
+XZ_5.1.2alpha {
+global:
+ lzma_stream_encoder_mt;
+ lzma_stream_encoder_mt_memusage;
+} XZ_5.0;
+
+XZ_5.2.2 {
global:
lzma_block_uncomp_encode;
lzma_cputhreads;
@@ -105,4 +111,4 @@
local:
*;
-} XZ_5.0;
+} XZ_5.1.2alpha;
答案 2 :(得分:0)
就我而言:
在/etc/bashr and ~/.bashrc
答案 3 :(得分:0)
只需删除liblzma.so.5.2.3
,yum将再次起作用。由于https://software.intel.com/en-us/cluster-checker-user-guide-getting-started中的source psxevars.sh
而失败了。