答案1
請勿嘗試在系統目錄中安裝較新的 Gtk/Gnome 庫。它們的向後相容性很差,您可能會面臨破壞現有程式的風險。
在單獨的目錄層次結構中編譯並安裝新函式庫。運行./configure --help
以了解如何在編譯庫時指定庫的路徑和包含文件。例如,如果您看到
PANGO_CFLAGS C compiler flags for PANGO, overriding pkg-config PANGO_LIBS linker flags for PANGO, overriding pkg-config
然後設定以下環境變數:
export PANGO_CFLAGS='-I /path/to/my/gnome/stuff/include'
export PANGO_LIBS='-L /path/to/my/gnome/stuff/libs'
傳遞--prefix=/path/to/my/gnome/stuff
到./configure
, 將所有內容安裝到您自己的目錄中。
或者,如果您需要安裝很多程式庫,重建所有內容,包括使用,這會更容易pkg 配置。也安裝pkg-config
在下面,然後設定/path/to/my/gnome/stuff
export PKG_CONFIG=/path/to/my/gnome/stuff/bin/pkg-config
答案2
透過自動工具尋找依賴項的來源有一個configure.ac 檔案(和/或Makefile.am,我不確定這個檔案),其中定義了這些依賴項。大多數時候,人們/IDE 只會將目前安裝的庫版本作為依賴項,但實際上在最新版本中並不需要它們。
您可以嘗試將所需的版本修改為您的版本並嘗試建置套件。
您無法直接讓自動工具在某個備用路徑中尋找,但 IIRC 自動工具使用 pkg-config 來決定軟體包安裝細節 (man pkg-config)。您可以透過環境變數 PKG_CONFIG_PATH 告訴 pkg-config 在其他目錄中尋找。但是,pkg-config 路徑僅在您實際安裝了更新的程式庫時才有效。但我相信您可以編輯 *.pc 檔案來強制 clutter-mx 靜態連結這些庫。
如果您安裝一個庫的兩個版本,並且有時使用一個版本,有時使用另一個版本,則可能會遇到問題。如果你真的替換了 rpm 放在那裡的文件,你就完蛋了。
我的建議是修改建置依賴項,或者如果需要確定為什麼需要更新版本的庫 XY,並修改 clutter-mx 來源以不需要該最新版本並使用當前版本。我的第二個最佳建議是獲取/建置所需庫的分發包並安裝它們。你真的不應該脫離你的發行版(即套件管理器)設定的世界。那裡有邪惡勢力。 :-)