История изменений
Исправление ZenitharChampion, (текущая версия) :
Собираю Firefox 52 под CentOS 5. Компилятор GCC 4.8. Патчи для понижения необходимой версии GTK2 с 2.18 до 2.10 успешно наложились: похоже что с версии 45 не было существенных изменений. Только configure.in переехал в old-configure.in, а также в toolkit/moz.configure
Собрать мне пока не удалось. Упёрся в то, что harfbuzz хочет функцию из GLIB 2.14, а у меня GLIB 2.12. Ищу способы обойти.
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: warning: ‘hb_glib_script_to_script’ initialized and declared ‘extern’ [enabled by default]
hb_glib_script_to_script (GUnicodeScript script);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: error: ‘GUnicodeScript’ was not declared in this scope
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:42:11: error: ‘GUnicodeScript’ does not name a type
HB_EXTERN GUnicodeScript
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: redefinition of ‘hb_script_t hb_glib_script_to_script’
hb_glib_script_to_script (GUnicodeScript script)
^
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:1: error: ‘hb_script_t hb_glib_script_to_script’ previously defined here
hb_glib_script_to_script (GUnicodeScript script);
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: ‘GUnicodeScript’ was not declared in this scope
hb_glib_script_to_script (GUnicodeScript script)
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:176:1: error: ‘GUnicodeScript’ does not name a type
GUnicodeScript
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_unicode_combining_class_t hb_glib_unicode_combining_class(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:201:75: error: ‘g_unichar_combining_class’ was not declared in this scope
return (hb_unicode_combining_class_t) g_unichar_combining_class (unicode);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_script_t hb_glib_unicode_script(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:65: error: ‘g_unichar_get_script’ was not declared in this scope
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:66: error: ‘hb_glib_script_to_script’ cannot be used as a function
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
В самом harfbuzz полно условий «Если версия Glib такая-то, то». Так что это возможно.
Из других проблем. В какой-то момент компиляция встала из-за вызовов несуществующих функций (V4L2). Помогло обновление пакета kernel-headers с 2.6.18 до 2.6.23 из Fedora 8.
Самая существенная проблема - мне пришлось установить libxcb 1.4, а также обновить системный libX11 до версии 1.2. Чтобы компиляция в принципе могла начаться. Это сводит на нет все плюсы моей сборки: работа даже в самых старых дистрибутивах Linux. Минимально необходимый год выпуска дистра повышается с 2007 до 2010. А раз так, то уж лучше использовать официальную сборку на CentOS 6.
Может быть, эти либы можно прилинковать статически? Только свежие версии, а не минимально необходимые. Я вижу здесь директорию 3rdparty. Помогите, пожалуйста.
Исправление ZenitharChampion, :
Собираю Firefox 52 под CentOS 5. Компилятор GCC 4.8. Патчи для понижения необходимой версии GTK2 с 2.18 до 2.10 успешно наложились: похоже что с версии 45 не было существенных изменений. Только configure.in переехал в old-configure.in, а также в toolkit/moz.configure
Собрать мне пока не удалось. Упёрся в то, что harfbuzz хочет функцию из GLIB 2.14, а у меня GLIB 2.12. Ищу способы обойти.
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: warning: ‘hb_glib_script_to_script’ initialized and declared ‘extern’ [enabled by default]
hb_glib_script_to_script (GUnicodeScript script);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: error: ‘GUnicodeScript’ was not declared in this scope
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:42:11: error: ‘GUnicodeScript’ does not name a type
HB_EXTERN GUnicodeScript
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: redefinition of ‘hb_script_t hb_glib_script_to_script’
hb_glib_script_to_script (GUnicodeScript script)
^
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:1: error: ‘hb_script_t hb_glib_script_to_script’ previously defined here
hb_glib_script_to_script (GUnicodeScript script);
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: ‘GUnicodeScript’ was not declared in this scope
hb_glib_script_to_script (GUnicodeScript script)
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:176:1: error: ‘GUnicodeScript’ does not name a type
GUnicodeScript
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_unicode_combining_class_t hb_glib_unicode_combining_class(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:201:75: error: ‘g_unichar_combining_class’ was not declared in this scope
return (hb_unicode_combining_class_t) g_unichar_combining_class (unicode);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_script_t hb_glib_unicode_script(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:65: error: ‘g_unichar_get_script’ was not declared in this scope
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:66: error: ‘hb_glib_script_to_script’ cannot be used as a function
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
В самом harfbuzz полно условий «Если версия Glib такая-то, то». Так что это возможно.
Из других проблем. В какой-то момент компиляция встала из-за вызовов несуществующих функций (V4L2). Помогло обновление пакета kernel-headers с 2.6.18 до 2.6.23 из Fedora 8.
Самая существенная проблема - мне пришлось установить libxcb 1.4, а также обновить системный libX11 до версии 1.2. Чтобы компиляция в принципе могла начаться. Это сводит на нет все плюсы моей сборки: работа даже в самых старых дистрибутивах Linux. Год выпуска дистра повышается с 2007 до 2010. А раз так, то уж лучше использовать официальную сборку на CentOS 6.
Может быть, эти либы можно прилинковать статически? Только свежие версии, а не минимально необходимые. Я вижу здесь директорию 3rdparty. Помогите, пожалуйста.
Исходная версия ZenitharChampion, :
Собираю Firefox 52 под CentOS 5. Компилятор GCC 4.8. Патчи для понижения необходимой версии GTK2 с 2.18 до 2.10 успешно наложились: похоже что с версии 45 не было существенных изменений. Только configure.in переехал в old-configure.in, а также в toolkit/moz.configure
Собрать мне пока не удалось. Упёрся в то, что harfbuzz хочет функцию из GLIB 2.14, а у меня GLIB 2.12. Ищу способы обойти.
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: warning: ‘hb_glib_script_to_script’ initialized and declared ‘extern’ [enabled by default]
hb_glib_script_to_script (GUnicodeScript script);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: error: ‘GUnicodeScript’ was not declared in this scope
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:42:11: error: ‘GUnicodeScript’ does not name a type
HB_EXTERN GUnicodeScript
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: redefinition of ‘hb_script_t hb_glib_script_to_script’
hb_glib_script_to_script (GUnicodeScript script)
^
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:1: error: ‘hb_script_t hb_glib_script_to_script’ previously defined here
hb_glib_script_to_script (GUnicodeScript script);
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: ‘GUnicodeScript’ was not declared in this scope
hb_glib_script_to_script (GUnicodeScript script)
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:176:1: error: ‘GUnicodeScript’ does not name a type
GUnicodeScript
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_unicode_combining_class_t hb_glib_unicode_combining_class(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:201:75: error: ‘g_unichar_combining_class’ was not declared in this scope
return (hb_unicode_combining_class_t) g_unichar_combining_class (unicode);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_script_t hb_glib_unicode_script(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:65: error: ‘g_unichar_get_script’ was not declared in this scope
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:66: error: ‘hb_glib_script_to_script’ cannot be used as a function
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
В самом harfbuzz полно условий «Если версия Glib такая-то, то». Так что это возможно.
Из других проблем. В какой-то момент компиляция встала из-за вызовов несуществующих функций (V4L2). Помогло обновление пакета kernel-headers с 2.6.18 до 2.6.23 из Fedora 8.
Самая существенная проблема - мне пришлось установить libxcb 1.4, а также обновить системный libX11 до версии 1.2. Чтобы компиляция в принципе могла начаться. Это сводит на нет все плюсы моей сборки: работа даже в самых старых дистрибутивах Linux. Год выпуска дистра повышается с 2007 до 2010. А раз так, то уж лучше использовать официальную сборку на CentOS 6.
Может быть, эти либы можно прилинковать статически? Только свежие версии, а не минимально необходимые. Я вижу здесь директорию 3rdparty. Помогите, пожалуйста.