Привет. Вы ещё не ушли?Я всё-таки освоил параметр сборки "--enable-libstd-compat" - теперь мои сборки, которые я делаю чисто для себя (но решил поделиться, если кому-нибудь надо) перестали требовать установленную библиотеку GCC 9 в системе - теперь достаточно GCC 4.4.
Возникает резонный вопрос: "зачем нужны сторонние сборки, когда есть сборка с официального сайта?". Сборка с сайта зависит от Glibc 2.17 и GTK 2.24, что является довольно лайтовым: она работает даже на тех системах, которые выпущены 10 лет назад (Ubuntu 14.04, RHEL 7, Debian 8, SLES 12).
Моя сборка заработает в ещё более старых системах: RHEL 6, Debian 7, Ubuntu 11.10. Она требует минимум Glibc 2.12 и GTK 2.18.
Palemoon собирается с поддержкой глобального меню, но это единственная опция, которую мне пришлось отключить. В противном случае, GTK 2.18 становится недостаточно для сборки: файл с исходным кодом nsMenu.cpp не может найти функцию GVariant. Но, так как опции для отключения этой фичи нет, я тупо откатил порцию патчей, которые добавили поддержку глобального меню...
Ссылка на скачивание: https://0x0.st/HdAz.tar.xz
(файл переименовать в palemoon-33.0.0.linux-x86_64-gtk2.tar.xz)
Также я сделал сборку с OpenGL от NVIDIA (так называемой nonglvnd NVIDIA OpenGL). О том, что такое nonglvnd OpenGL, и чем он отличается от glvnd OpenGL, вы можете почитать по этой ссылке: https://www.opennet.ru/openforum/vsluhforumID3/132737.html#102
Причина, по которой я сделал отдельную сборку, в том, что, со включенным HWA (аппаратным ускорением) иногда я ловлю ошибку:
PluralForm.jsm: Index #1 of '#1-е совпадение из #2' for value 2 is invalid -- plural rule #7; called by onMatchesCountResult
PluralForm.jsm: Index #1 of '#1-е совпадение из #2' for value 2 is invalid -- plural rule #7; called by onMatchesCountResult
PluralForm.jsm: Index #1 of '#1-е совпадение из #2' for value 2 is invalid -- plural rule #7; called by onMatchesCountResult
PluralForm.jsm: Index #1 of '#1-е совпадение из #2' for value 2 is invalid -- plural rule #7; called by onMatchesCountResult
PluralForm.jsm: Index #1 of '#1-е совпадение из #2' for value 2 is invalid -- plural rule #7; called by onMatchesCountResult
PluralForm.jsm: Index #2 of '#1-е совпадение из #2' for value 140 is invalid -- plural rule #7; called by onMatchesCountResult
[7204] ##!! ABORT: X_GLXDestroyPixmap: GLXBadPixmap; 3 requests ago: file /home/gaben/pale-moon/platform/toolkit/xre/nsX11ErrorHandler.cpp, line 134
[7204] ##!! ABORT: X_GLXDestroyPixmap: GLXBadPixmap; 3 requests ago: file /home/gaben/pale-moon/platform/toolkit/xre/nsX11ErrorHandler.cpp, line 134
[7204] ##!! ABORT: X_GLXDestroyPixmap: GLXBadPixmap; 3 requests ago: file /home/gaben/pale-moon/platform/toolkit/xre/nsX11ErrorHandler.cpp, line 134
[7204] ##!! ABORT: X_GLXDestroyPixmap: GLXBadPixmap; 3 requests ago: file /home/gaben/pale-moon/platform/toolkit/xre/nsX11ErrorHandler.cpp, line 134
Multiple segmentation faults occured; can't display error dialog
По-идее, сборка с OpenGL от NVIDIA должна исправить эту проблему.
Имейте в виду, что линковка с nonglvnd OpenGL, которую я осуществил, имеет смысл только с драйверами 304.xx, 340.xx, предназначенными для GeForce 6, 7, 8, 9 и 200. Карточки Fermi (и более новые) поддерживаются glvnd-драйвером. В этом случае вам нужна первая сборка, которую я осуществлял с Mesa.
Ссылка: http://0x0.st/HdA-.tar.xz Переименовать в palemoon-33.0.0.linux-x86_64-gtk2-nvidia-nonglvnd.tar.xz
Про HWA могу сказать только то, что на NVIDIA её желательно включить (пусть это и приводит к периодическим падениям браузера на тяжёлых сайтах, таких как Reddit или GitHub - без этой опции эти сайты будут фризить и вешщать браузер), а на открытых драйверах эту опцию включать не нужно. Только хуже делает, а без неё всё и так норм.
Также я хочу собрать ещё одну сборку - для Glibc 2.11. Это позволит запустить браузер Palemoon в таких дистрибутивах Linux, как Ubuntu 10.04, Debian 6 и openSUSE 11.4. Для этого нужно найти src.rpm-пакет Firefox 52 для SLED 11. Там есть патч, избавляющий от вызова функции "pthread_setname_np", впервые появившегося в Glibc 2.12.