我被这个错误困住了。无法安装任何 RPM。请帮忙
操作系统是 RHEL6.9 64 位
提前致谢。
当您从 RHEL(或 CentOS)7 系统上的源下载并安装 xz 时,会发生这种情况。问题是该XZ_5.1.2alpha标签在 xz 的已发布版本中不存在,但在 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;
Run Code Online (Sandbox Code Playgroud)
小智 4
XZ Utils自 2017 年 11 月 27 日我在 CentOS 7.4 上从源安装 5.2.3 并liblzma.so.5.2.3从/usr/local/lib/复制到 以来,我遇到了类似的问题/lib64/。
此问题的原因是库librpmio.so.3需要XZ_5.1.2alpha在 lzma 共享库中定义符号。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
Run Code Online (Sandbox Code Playgroud)删除文件/lib64/liblzma.so.5.2.3
第二个可能的原因可能是环境变量LD_LIBRARY_PATH。检查它是否包含不需要的路径并将其清除。
| 归档时间: |
|
| 查看次数: |
11829 次 |
| 最近记录: |