Centos

在 GLibc 2.12 下編譯 Firefox 50

  • October 20, 2016

我已經成功地能夠無錯誤地configure使用最新的 Firefox(源)。所有必需的依賴項都已到位(即通過 devtoolset-3、Python 2.7、Yasm、libffi 3.2.1 等的 GCC 4.9.2)。當我執行./mach build它時,它也成功執行configure並開始執行make二進製文件……然後大約 24 分鐘後它就窒息了

24:40.15 /home/osboxes/firefox-50.0b7/gfx/thebes/gfxFontconfigFonts.cpp: In member function ‘virtual already_AddRefed<gfxFont> gfxPangoFontGroup::FindFontForChar(uint32_t, uint32_t, uint32_t, gfxFontGroup::Script, gfxFont*, uint8_t*)’:
24:40.15 /home/osboxes/firefox-50.0b7/gfx/thebes/gfxFontconfigFonts.cpp:1628:66: error: ‘g_unicode_script_from_iso15924’ was not declared in this scope
24:40.15        (const PangoScript)g_unicode_script_from_iso15924(scriptTag);
24:40.15                                                                   ^

相關的部分是

‘g_unicode_script_from_iso15924’ 未在此範圍內聲明

我首先在網上搜尋了這個錯誤,唯一的參考是 v52 ( ref ) 中的一個固定錯誤,此時甚至不在原始碼庫中。這不是錯誤。

如何為使用 GLibc 2.12 的系統編譯 Firefox 50?


**已解決:我發現這是GLib 2.30 ( ref )中g_unicode_script_from_iso15924的一個新符號。**Glib 至少需要更新到 2.30 版本。

這不是 glibc 中的符號,而是GLib中的符號。如果您建構和安裝 GLib 2.30 或更高版本,您應該能夠建構 Firefox 50。

引用自:https://unix.stackexchange.com/questions/316802