我的目的是通过rpm将已构建的libmy.so作为可安装的库分发 .
以下是.spec文件的片段
==========================================
%define elX el5%定义arch x86_64
名称:my_rpm版本:1.0要求:
%准备
%define debug_package%
% Build
%安装
%文件
%defattr( - ,root,root)
/home/%/%/%_%/lib/libmy.so
==========================================
在编译libmy.so时,我将它链接到libxx.so,它作为另一个rpm的一部分安装 .
在安装作为上述步骤1的一部分创建的RPM时,即使在机器上安装了libxx.so,它也会产生以下依赖性错误
================================================== =========
rpm -ivh * rpm
错误:失败的依赖项:
- rpm需要libxx.so()(64位)
================================================== =========
我们尝试了以下几点
在分析过程中,我们发现ld.so.conf中没有libxx.so所在的路径 . 但是,添加libxx.so所在的路径条目对我们没有帮助 .
请告诉我们是否需要执行任何其他步骤来删除此依赖性错误 .
1 回答
安装时,
rpm
正在RPM数据库中查找条目;它不测试系统上的文件或可链接的文件 .什么是输出
这将列出哪个包提供libXX.so . 如果没有包提供它,您的RPM将具有依赖性错误 . 从
Requires:
条目中删除libXX.so . 如果您没有手动指定它,则可能会自动检测到它 . 在您的spec文件中,您可以设置:这将禁用
Requires:
的ALL自动检测 .http://www.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html