简体   繁体   English

在CentOS 5上安装harfbuzz 1.0.1

[英]installing harfbuzz 1.0.1 on CentOS 5

I'm trying to install harfbuzz-1.0.1 on a CentOS 5 machine where I do NOT have sudo access, and hence need to install into non-standard locations. 我正在尝试在没有sudo访问权限的CentOS 5机器上安装harfbuzz-1.0.1,因此需要安装到非标准位置。 I have downloaded and unpacked the source code, and added what I believe to be the relevant dependences to my $PKG_CONFIG_PATH . 我已经下载并解压缩了源代码,并在$PKG_CONFIG_PATH添加了我认为是相关的依赖项。 These packages include: 这些软件包包括:

  • freetype2 freetype2
  • icu-uc 监护室

Checking that '$PKG_CONFIG_PATH` is correct: 检查“ $ PKG_CONFIG_PATH”是否正确:

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

Within the unpacked source directory, I ran: 在解压后的源目录中,我运行了:

$ ./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

However, make fails with the following error: 但是, 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

I can't determine anything from the config.log file, but then again I'm not exactly sure what to look for. 我无法从config.log文件中确定任何内容,但是再次我不确定要查找的内容。 I'm guessing that perhaps there's an unmet dependency somewhere, but I'm kind of at a loss at this point. 我猜想也许某个地方存在未满足的依赖关系,但在这一点上我有点茫然。 Any help would be greatly appreciated and I'm happy to provide more info if needed. 任何帮助将不胜感激,如果需要,我很乐意提供更多信息。 Thanks a lot. 非常感谢。

If it's helpful, here is the full config.log . 如果有帮助,请参阅完整的config.log

The glib GBytes type was added in glib 2.32. glib GBytes类型在glib 2.32中添加。

The version of glib is CentOS 5 is 2.12 which is much older. glib的版本是CentOS 5,它的版本是2.12,这得多

The harfbuzz configure setup should be checking for a compatible version of glib and not getting as far as compiling before failing. harfbuzz configure设置应检查glib的兼容版本,并且在失败之前不进行任何编译。 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. 您可以使用可以使用CentOS 5附带的glib版本的harfbuzz的旧版本,也可以构建并“安装”自己的glib副本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM