Установка harfbuzz 1.0.1 на CentOS 5

Я пытаюсь установить harfbuzz-1.0.1 на компьютере CentOS 5, где у меня нет доступа sudo, и, следовательно, необходимо установить его в нестандартных местах. Я скачал и распаковал исходный код и добавил то, что я считаю соответствующими зависимостями $PKG_CONFIG_PATH, Эти пакеты включают в себя:

  • freetype2
  • СИС-УНЦ

Проверка правильности '$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.

1 ответ

Решение

Глеб GBytes тип был добавлен в glib 2.32.

Версия glib - CentOS 5 - версия 2.12, которая намного старше.

Настройка конфигурации harfbuzz должна проверять совместимость версии glib и не доходить до компиляции перед сбоем. Это "ошибка" с их стороны.

Вы можете либо использовать более старую версию harfbuzz, которая может использовать версию glib, с которой поставляется CentOS 5, либо вы также можете собрать и "установить" свою собственную копию glib.

Другие вопросы по тегам