在CentOS 5上安装harfbuzz 1.0.1

时间:2015-07-29 17:22:33

标签: centos harfbuzz

我试图在没有sudo访问权限的CentOS 5机器上安装harfbuzz-1.0.1,因此需要安装到非标准位置。我已下载并解压缩源代码,并将我认为相关的依赖项添加到我的$PKG_CONFIG_PATH。这些套餐包括:

  • 对FreeType2
  • ICU-UC

检查' $ PKG_CONFIG_PATH`是否正确:

$pkg-config --modversion freetype2
9.22.3
$pkg-config --modversion icu-uc
55.1

在解压缩的源目录中,我运行了:

$ ./configure --prefix=/some/custom/path
# produces lots of output, but summary here
Build configuration:

Unicode callbacks (you want at least one):
    Glib:           true
    ICU:            true
    UCDN:           false

Font callbacks (the more the better):
    FreeType:       false

Tools used for command-line utilities:
    Cairo:          true
    Fontconfig:     true

Additional shapers (the more the better):
    Graphite2:      false

Platform shapers (not normally needed):
    CoreText:       false
    Uniscribe:      false

Other features:
    Documentation:      no
    GObject bindings:   false
    Introspection:      false

但是,make失败并出现以下错误:

In file included from hb-glib.cc:31:0:
hb-glib.h:50:22: error: 'GBytes' was not declared in this scope
 hb_glib_blob_create (GBytes *gbytes);
                      ^
hb-glib.h:50:30: error: 'gbytes' was not declared in this scope
 hb_glib_blob_create (GBytes *gbytes);
                              ^
hb-glib.cc:389:22: error: redefinition of 'hb_blob_t* hb_glib_blob_create'
 hb_glib_blob_create (GBytes *gbytes)
                      ^
In file included from hb-glib.cc:31:0:
hb-glib.h:50:1: error: 'hb_blob_t* hb_glib_blob_create' previously defined here
 hb_glib_blob_create (GBytes *gbytes);
 ^
hb-glib.cc:389:22: error: 'GBytes' was not declared in this scope
 hb_glib_blob_create (GBytes *gbytes)
                      ^
hb-glib.cc:389:30: error: 'gbytes' was not declared in this scope
 hb_glib_blob_create (GBytes *gbytes)
                              ^
make[4]: *** [libharfbuzz_la-hb-glib.lo] Error 1

我无法从config.log文件中确定任何内容,但我再也不确定要查找的内容。我猜测某个地方可能存在未满足的依赖关系,但此时此刻我还是有点茫然。任何帮助将不胜感激,如果需要,我很乐意提供更多信息。非常感谢。

如果有帮助,请点击the full config.log

1 个答案:

答案 0 :(得分:0)

在glib 2.32中添加了glib GBytes type

glib的版本是CentOS 5是2.12,太多更旧。

harfbuzz配置设置应该检查glib的兼容版本,并且在失败之前没有进行编译。这是一个" bug"就他们而言。

您可以使用旧版本的harfbuzz,它可以使用CentOS 5附带的glib版本,或者您可以构建并安装"你自己的glib副本。