Rpm

rpm 如何解決庫依賴關係?

  • May 21, 2019

我嘗試製作一個連結到此類庫的程序包(來自 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)

我的猜測是,rpmbuild 設置了主 lib 目錄的依賴關係,即 /usr/lib64。

問題——如何解決這個問題(好吧,一個會被強制安裝,但我想避免它)?即如何建構 rpm 以便為 wx-2.8-wxcontainer 子目錄(對於這個庫)設置依賴關係?

openSUSE 11.4,如果這很重要。

編輯

我可以使用強制安裝的 –nodeps 安裝此類軟體包,然後安裝程序完美執行。很明顯,rpm 或 rpmbuild 有問題,而不是系統本身。

我認為這是目前 rpm/rpmbuild 版本中的限製或錯誤。我報告了這個問題,所以我認為在某種程度上回答了問題:

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

您總是必須成對安裝 wx rpms — 一個帶有真正的庫,另一個包簡單地說“庫已安裝”。

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

如果沒有第二個 rpm,包管理器和/或依賴應用程序將根本不知道相應的 wx 庫存在。

引用自:https://unix.stackexchange.com/questions/14065