0

我正在尝试在没有 sudo 访问权限的 CentOS 5 机器上安装 harfbuzz-1.0.1,因此需要安装到非标准位置。我已经下载并解压了源代码,并在我的$PKG_CONFIG_PATH. 这些软件包包括:

  • 自由型2
  • 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文件中确定任何内容,但是我又不确定要查找什么。我猜也许某处存在未满足的依赖关系,但此时我有点不知所措。任何帮助将不胜感激,如果需要,我很乐意提供更多信息。非常感谢。

如果有帮助,这里是完整的 config.log

4

1 回答 1

0

The glib GBytes type was added in glib 2.32.

The version of glib is CentOS 5 is 2.12 which is much older.

The harfbuzz configure setup should be checking for a compatible version of glib and not getting as far as compiling before failing. That's a "bug" on their part.

You get to either use an older version of harfbuzz that can use the version of glib that CentOS 5 ships with or you get to build and "install" your own copy of glib too.

于 2015-07-29T17:35:58.093 回答