首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不破坏Fedora的情况下使用特定的库构建工具?

如何在不破坏Fedora的情况下使用特定的库构建工具?
EN

Unix & Linux用户
提问于 2012-06-15 15:06:10
回答 2查看 261关注 0票数 2

到目前为止,从未需要偏离标准的Fedora 16核心开发组件。我需要构建杂波-mx项目,但是这个库需要glib-2.0.32。除此之外,glib-2还需要libffi-3.0.11。

我可以下载源代码并构建这些库,但是,我担心安装它们会破坏系统的其余部分。

杂波-mx项目使用自动工具并查找glib-2版本。

问题如下:

  1. 如果我构建并安装了新的组件,如果出了问题,您能使用yum或其他类似的工具吗?
  2. 是否有办法让自动工具在另一个目录中查找已安装的标头?
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2012-06-16 05:15:29

通过自动工具寻找依赖项的源有一个configure.ac文件(和/或Makefile.am,我不确定在这个文件中是否定义了这些依赖项)。大多数时候,people/IDE只会将其当前安装的库版本作为依赖项,但实际上并不需要它们出现在最近的版本中。

您可以尝试将所需的版本修改为您的版本,并尝试构建包。

您不能直接让autotools查看其他路径,但是IIRC使用pkg-config来确定包安装的具体细节(man )。您可以通过环境变量PKG_CONFIG_PATH告诉PKG_CONFIG_PATH查看其他目录。但是,pkg-config路径仅在实际安装了最近的库的情况下才能工作。但是我相信您可以编辑*.pc文件来强制杂乱-mx静态链接这些库。

如果安装两个版本的库,有时使用其中一个版本,有时使用另一个版本,则可能会遇到问题。如果你真的替换了那些在rpm之前放在那里的文件,那么你的文件就完蛋了。

我的建议是修改构建依赖关系,或者如果需要的话,确定为什么需要库XY的最新版本,并修改杂乱-mx源,使其不需要最新版本,并与当前版本一起工作。我的第二个最佳建议是获取/构建用于分发所述库的包,并安装这些包。你真的不应该打破你的发行版,即包管理器建立的世界。外面有邪恶的力量。:-)

票数 1
EN

Unix & Linux用户

发布于 2012-06-17 01:57:27

不要尝试在系统目录中安装更新的Gtk/Gnome库。它们的向后兼容性很差,您可能会破坏现有的程序。

在单独的目录层次结构中编译和安装新的库。运行./configure --help以查看如何在编译库时指定指向库的路径并包含文件。例如,如果你看到

PANGO的PANGO_CFLAGS C编译器标志,PANGO的重写pkg-config PANGO_LIBS链接器标志,重写pkg-PANGO_LIBS

然后设置以下环境变量:

代码语言:javascript
复制
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-config。将pkg-config也安装在/path/to/my/gnome/stuff下,然后设置

代码语言:javascript
复制
export PKG_CONFIG=/path/to/my/gnome/stuff/bin/pkg-config
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/40883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档