rpm 如何解决库依赖?

gre*_*man 6 rpm libraries dependencies dynamic-linking

我尝试制作一个链接到此类库的程序包(来自 ldd 的输出):

libwx_baseu-2.8.so.0 => /usr/lib64/wx-2.8-wxcontainer/libwx_baseu-2.8.so.0

很简单,对吧?但是当我制作这个程序的一个包(使用 rpmbuild)然后尝试安装它时,rpm 会抱怨缺少库(上面的这个):

错误:依赖项失败:

    libwx_baseu-2.8.so.0()(64bit) 
    libwx_baseu-2.8.so.0(WXU_2.8)(64bit)
Run Code Online (Sandbox Code Playgroud)

我的猜测是,rpmbuild 设置了主 lib 目录的依赖项,即 /usr/lib64。

问题——如何解决这个问题(好吧,一个人会被强制安装,但我想避免它)?即如何构建 rpm 以便为 wx-2.8-wxcontainer 子目录(对于此库)设置依赖项?

openSUSE 11.4,如果这很重要。

编辑

我可以使用强制安装的 --nodeps 安装这样的包,然后安装程序完美运行。很明显,rpm 或 rpmbuild 有问题,而不是系统本身。

gre*_*man 2

我认为这是当前 rpm/rpmbuild 版本中的限制或错误。我报告了这个问题,所以我认为在某种程度上问题得到了回答:

\n\n

https://bugzilla.novell.com/show_bug.cgi?id=697943

\n\n

你总是必须成对安装 wx rpms \xe2\x80\x94 一个带有真正的库,另一个包只是说“库已安装”。

\n\n
    \n
  • libwx_baseu_net-2_8-0-wxcontainer-2.8.12-3.1.x86_64
  • \n
  • libwx_baseu_net-2_8-0- compat-lib -wxcontainer-2.8.12-3.1.x86_64
  • \n
\n\n

如果没有第二个 rpm,包管理器和/或相关应用程序将根本不知道相应的 wx 库是否存在。

\n