linux系统

rpmlib(FileDigests),rpmlib(PayloadIsXz) is needed解决办法

在RHEL6中,新版的rpm使用了新的file digest algorithms 和 compression algorithms,所以当在RHEL6或centos6环境下编译RHEL5或centos5下使用的rpm包时,就会出现类似如下的错误

     rpmlib(FileDigests) <= 4.6.0-1 is needed by package-23488-1.noarch

     rpmlib(PayloadIsXz) <= 5.2-1 is needed by package-23488-1.noarch

查到解决办法如下

1,编辑/usr/lib/rpm/macros文件

#%_source_payload       w9.gzdio
#%_binary_payload       w9.gzdio

查找到上面这两行,将注释去掉改成

%_source_payload       w9.gzdio
%_binary_payload       w9.gzdio

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

2, 编辑/usr/lib/rpm/redhat/macros文件

%_source_filedigest_algorithm 8
%_binary_filedigest_algorithm 8

找到上面这两行,将其注释后变为

#%_source_filedigest_algorithm 8
#%_binary_filedigest_algorithm 8

然后找到如下这行

%_binary_payload w2.xzdio

将其注释后变为

#%_binary_payload w2.xzdio

依照上面两步进行修改后,在centos6或RHEL6下进行编译的RHEL5或centos5的rpm包,就可以很顺利的在RHEL5或centos5下安装了。

© 2012, 深夜的蚊子. 版权所有. 如转载,请注明:转载自 蚊子空间站[http://www.wenzizone.com]

8 Comments

  1. 我安装了你说的redhat-rpm-config 包,生成了redhat/macros文件,但是在这个文件 找不到你说的内容哇,没有的话是要我们加上去么?

  2. 修改了 文件后面需要编译一遍么~~~ 我修改的只有前面一个 后面的内容没找到

  3. 我在 /usr/lib/rpm/redhat/macros 中没有找到 要修改的内容啊 ~~ 然后 修改了 前面的 怎么 把 包重新编译一遍 啊~~ 亲

Leave a Reply

Your email address will not be published. Required fields are marked *