我有一个链接到libxalanMsg.so的ELF二进制文件。 LibxalanMsg.so没有DT_SONAME条目,因此二进制文件在其DT_NEEDED中具有库的链接器名称(libxalanMsg.so)。 LibxalanMsg.so和libxalanMsg.so.111像往常一样是libxalanMsg.so.111.0的符号链接。
现在当我从这个二进制文件构建一个RPM时,我看到关于这个库,该软件包只提供“libxalanMsg.so.111.0()(64bit)”,但需要“libxalanMsg.so()(64bit)”。在安装软件包时,名称的这种差异会导致不满意的依赖性。
如果我手动运行find-provide,那么名称就在那里:
[rpmbuild@localhost lib]$ echo `ls libxalanMsg.so*` | /usr/lib/rpm/find-provides
libxalanMsg.so.111.0()(64bit)
libxalanMsg.so.111()(64bit)
libxalanMsg.so()(64bit)
[rpmbuild@localhost lib]$
为什么RPM不将libxalanMsg.so放在提供包中?我应该如何成功安装软件包?