我试图在没有sudo访问权限的CentOS 5机器上安装harfbuzz-1.0.1,因此需要安装到非标准位置。我已下载并解压缩源代码,并将我认为相关的依赖项添加到我的$PKG_CONFIG_PATH
。这些套餐包括:
检查' $ 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。
答案 0 :(得分:0)
在glib 2.32中添加了glib GBytes
type。
glib的版本是CentOS 5是2.12,太多更旧。
harfbuzz配置设置应该检查glib的兼容版本,并且在失败之前没有进行编译。这是一个" bug"就他们而言。
您可以使用旧版本的harfbuzz,它可以使用CentOS 5附带的glib版本,或者您可以构建并安装"你自己的glib副本。