FreeBSD 上因为环境和 linux 上有些差异,configure 可能不能产生正确的Makefile。如果出现了文件,最好的方法是查找 configure.log.

这个文件基本上指示了一些错误。

很多人在 编译 GTK+ 的时候 会出现这样的问题:

Pango not found. Pango built with Cairo support is required 。

你可能会觉得 pango 没有编译正确,或者 cairo 没有编译正确。其实,不要简单的猜测,查询configure 文件,会发现时

缺少这样一个库 pangocairo 。于是,你重新编译 pango ,并且加了 --enable-cairo --with-cairo=yes 可是,都不行。

这个时候,建议不要马上就google,有问题,先要自己分析:

cat configure.log | grep -i cairo

会发现 有一行让你吃惊:Disabling cairo suppor。

cairo 在高版本的 pango 默认是打开的,但是configure 在配置的时候,检查了很多选项之后,会把have_cairo 这个变量变成false。

当然,这个bug 是不是就 FreeBSD 上有我没有测试过。解决的方案很简单:

找到:Disabling cairo suppor 的if 前面,have_cairo 改成 true。

就好了。

 还有一点要注意,为了还必须编译 FreeType 的组件。

否则会有下面的错误:

undefined reference to `pango_fc_font_map_cache_clear'

这个组件要求 fontconfig 这个组件 2.5.0 以上,而且如果你没有升级的话,默认是不提醒你的。这个组件一定要升级。

 如果出现下面的错误:

libgtk-x11-2.0.so: undefined reference to `atk_object_set_role'

那在库的选项上要加一个 -latk-1.0

 

相关文章:

  • 2021-06-07
  • 2022-12-23
  • 2022-12-23
  • 2021-09-16
  • 2019-09-09
  • 2021-06-12
  • 2022-02-27
  • 2021-08-12
猜你喜欢
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
  • 2021-10-01
  • 2021-10-02
  • 2021-04-19
相关资源
相似解决方案