RPM规范文件的构建阶段期间的RPM依赖性错误

问题描述 投票:-1回答:1

我的目的是通过RPM将已经构建的libmy.so作为可安装的库分发。

以下是.spec文件的片段:

%define elX el5
%define arch x86_64

Name: my_rpm
Version: 1.0
Requires: <package name which installs libxx.so >

%prep

%define debug_package %{nil}

%build

%install

%files

%defattr(-, root, root)

/home/%{elX}/%{arch}/%{name}_%{version}/lib/libmy.so

在汇编libmy.so时,我将它与libxx.so相关联,libxx.so是作为另一个RPM的一部分安装的。

在安装作为上述步骤1的一部分创建的RPM时,即使在机器上安装了$ rpm -ivh *rpm error: Failed dependencies: libxx.so()(64bit) is needed by *rpm ,它也会产生以下依赖性错误

libxx.so

我们尝试过以下的事情。

在分析过程中,我们观察到ld.so.conf所在的路径不存在于libxx.so。但是,添加rpm所在的路径条目对我们没有帮助。

请告诉我们是否需要执行任何其他步骤来删除此依赖项错误。

rpm rpm-spec
1个回答
3
投票

安装时,$ rpm -q --whatprovides libXX.so 正在RPM数据库中查找条目;它不测试系统上的文件或可链接的文件。

什么是输出

Requires:

这将列出哪个包提供libXX.so。如果没有包提供它,您的RPM将具有依赖性错误。从AutoReqProv: no 条目中删除libXX.so。如果您没有手动指定它,则可能会自动检测到它。在您的spec文件中,您可以设置:

Requires:

这将禁用所有自动检测http://ftp.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html

qazxswpoi

© www.soinside.com 2019 - 2024. All rights reserved.