使用Cairo支持构建Pango

17

我正试图在RHEL5系统上构建一个新版本的Wireshark 1.10,以便制作一个RPM包,以便我支持的客户可以安装它。如果我能找到托管它的地方,可能还有其他人可以使用。

WS1.10依赖于GTK+以及其他几个不受可用rpm包支持的库。因此,我必须手动构建它们。GTK+需要带有cairo(1.8.8)支持的pango(1.24.5)。

从源代码构建并安装了一个更新版本的cairo后,运行pango的./configure命令会产生以下错误:

checking for CAIRO... yes
checking which cairo font backends could be used... none
configure: Disabling cairo support

然后最后 ./configure 显示

configuration:
        backends: X

我可以通过查看 /usr/local/lib 中的 pkg_config 来验证 Cairo 是否已安装。
我甚至查看了 pango config.log,但是没有看到任何不同于我上面复制粘贴的信息。

有哪些地方我应该查找以了解更简洁的错误消息? 我在排除故障方面有点束手无策。


看一下./configure文件,如果你浏览bash脚本,应该能够找到它正在查找的地方。 - benathon
1
在我看来,最好查看configure.ac。我觉得这个测试所做的一切就是通过pkg-config检查cairo >= 1.7.6和cairo-ft(在Linux上)。从你的输出中,我猜测你编译了cairo或正在尝试编译不带freetype支持的pango。寻找包含“checking for FREETYPE...”的行。 - Uli Schlachter
1
你解决了吗?我在OSX Mavericks上遇到了同样的问题。 - Poliquin
我没有解决它。实际上,我最终成功避免使用那个版本的CENTOS。 - Thomas Lann
嘿@ThomasLann,感谢您发布这个问题。我遇到了同样的问题,小佳的答案解决了我的问题。您能否接受他的答案? - e19293001
2个回答

31

今天我遇到了这个问题,通过安装 Pango 的 README 文件中提到的 HARFBUZZ 解决了它。在 Harfbuzz 安装完成后,我们就可以使用 FreeType 了。所以请按照以下步骤操作:

  1. 构建并安装 FreeType
  2. 构建并安装 fontconfig
  3. 构建并安装 Cairo(./configure 后请确保 freetype 和 fontconfig 被找到)
  4. 构建并安装 Harfbuzz
  5. 构建并安装 Pango

这应该被标记为答案。我遇到了同样的问题,通过构建Harfbuzz得到了修复。感谢@xiao-jia。 - Gutemberg Ribeiro
旧的软件包版本也可能发生同样的情况。Pango的“configure”脚本(至少我见过的任何一个)将大多数依赖项视为可选,并且输出不太有帮助...尝试使用“grep“ PKG_CONFIG --exists”config.log”来了解在“configure”期间检查了什么。 - mr.spuratic

2
如果您遵循小佳的指南,仍然遇到问题,请注意查看config.log。它将帮助您找出包在系统上找不到特定组件的原因。在我的情况下,我使用的发行版默认存储库中的fontconfig-devel和freetype-devel包太旧了。
我通过将整个堆栈安装到/usr之外的位置来解决它(听起来并不困难),方法是添加配置文件到/etc/ld.so.conf.d和一个环境扩展脚本到/etc/profile.d。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接