答案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 源以不需要该最新版本并使用当前版本。我的第二个最佳建议是获取/构建所需库的分发包并安装它们。你真的不应该脱离你的发行版(即包管理器)设置的世界。那里有邪恶势力。 :-)