The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Компиляция Mozilla FireFox для полу..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Компиляция Mozilla FireFox для полу..."  +/
Сообщение от auto_tips (ok) on 11-Ноя-09, 03:13 
Недавно я обнаружил то, что на сайте firefox.com нет 64-битной версии браузера Mozilla FireFox для Linux. Не обнаружил я и 64-битной версии браузера для других систем. Если посмотреть сайт лучше, можно обнаружить 64-битные сборки альфа-версий - а стабильных версий нет.

Тогда я решил собрать 64-битную версию самостоятельно. Разумеется, и 32-битная версия будет работать с 64-битной системой, если установить 32-битные библиотеки. В Ubuntu они занимают около 100 (ста) мегабайт. Если вы пользуетесь DooM III или Wine, 32-битные библиотеки, скорее всего, уже установлены - и проблемы нет... А что если они не установлены и устанавливать их у вас нет никакого желания?

Кстати, даже если у вас установлен 64-битный браузер, то для того чтобы воспользоваться 32-битным Flash-проигрывателем надо установить 32-битные библиотеки. Надоели... Но выход есть! Можно или воспользоваться альфа-версией 64-битной библиотеки Adobe Flash, или Gnash - свободным эквивалентом Flash-плееру. Последний работает в том числе и с Konqueror.

Я разобрался со сборкой FireFox из исходного кода и описал этот процесс вам - собственные бинарные сборки я размещаю на файлообменнике, найти ссылки можно найти в одной из тем на сайте linsovet.com. Архивы приведены к виду архивов на сайте firefox.com с тем отличием, что не удалён английский словарь, а также многие поисковые сайты из выпадающего списка. Кроме того, 64-битный Flash-проигрыватель уже вложен и сразу работает - размер архива увеличился лишь на 3 мегабайта, а распакованная директория на 9 мегабайт.

Сразу предупреждаю: никаких проверок работоспособности я не проводил. Флаги сборки и оптимизации не трогал и не экспериментировал. В официальном 32-битном FireFox есть CrashReporter, а у меня нет, а может быть, его можно включить. В моей сборке есть xslt-qa.jar, а в официальной нет - может быть, это только для моей машины, в которой есть libxslt. Про то, что логотип FireFox защищён несвободной лицензией тоже знаю, и всё же целенаправленно поменял в своей сборке логотип Shiretoko на логотип FireFox - знайте, так делать нехорошо.
Кроме получения недоступной лёгкими путями 64-битного FireFox, компиляция также даёт увеличение скорости работы благодаря оптимизации именно под ваше оборудование - но я уверен, что для такой программы, как интернет-браузер, этот прирост скорости не окажется существенным.

Итак, для начала надо разобраться с зависимостями. Это легче всего сделать в таких дистрибутивах, как Debian и Gentoo. В Debian-подобных дистрибутивах надо лишь выполнить команду от имени суперпользователя:

   apt-get build-dep firefox xulrunner

Чтобы сразу и без проблем установить зависимости в Ubuntu 9.04, я вместо firefox написал firefox-3.5 - в репозитории была и остаётся только четвёртая бета-версия. Кроме того, я находил сторонний репозиторий с FireFox 3.5, http://ppa.launchpad.net/ubuntu-mozilla-daily/, (который, к сожалению, на тот момент был неработоспособен и не устанавливал новейшего FireFox. Как там обстоят дела сейчас я не знаю, так как я уже достиг своей цели), и устанавливал зависимости также для пакетов оттуда.

Если у вас другой дистрибутив, предлагаю устанавливать зависимости руководствуясь файлом README или просьбам компилятора.
Чтобы скачать исходный код Mozilla FireFox, можно зайти на ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/, перейти в директорию с самой последней версией, затем в src и загрузить архив tar.bz2. Затем архив надо распаковать и, убедившись в том, что на разделе есть свободные 900 мегабайт, выполнить команду

   make -f client.mk build

Так написано в руководстве по адресу https://developer.mozilla.org/en/Build_and_Install . Но команда не работает. Поискав ошибку в Google, я обнаружил решение. После того, как команда выдаст ошибку, надо выполнить ./configure --enable-application=browser и повторить первую команду.

Компиляция занимает 40 минут на моём AMD Athlon 64 X2 7850+, 2 гигабайтами памяти DDR2 1066 на разделе ReiserFS.

После завершения компиляции можно запустить браузер. Он находится в директории dist/bin/, запускать надо файл firefox. Однако остаётся несколько нерешённых задач. Вместо FireFox почему-то запускается Shiretoko (кодовое название версии 3.5, как я понимаю...), хотя функциональность та же. Надо вернуть идентификатор браузера, логотип и название, а также удалить лишние 850 мегабайт отработанного исходного кода.

Прежде всего, избавляемся от символических ссылок, так как каждый второй файл ведёт на несколько директорий назад. Как это сделать командой cp я так и не разобрался (профессионалы, подскажите работающий способ!), поэтому я запустил winefile, выбрал каталог bin, и скопировал его через Файл > Копировать... в другое место.

Символические ссылки пропали, однако исполняемые файлы потеряли параметр исполняемости! Дело в том, что в файловых системах Windows-систем такого параметра файлов не существует. Заходим в каталог с FireFox, выделяем все бинарные файлы и скрипты запуска, нажимаем на них правой кнопкой мыши и выбираем "Свойства". Вкладка "Права". Ставим галочку "Позволять выполнение файла как программы" в случае если Gnome, или "Is executable" в KDE.

Теперь можно удалить все директории, кроме нашего нового bin.
Как добавить русский язык, идентификатор и название? Загружаем 32-битную версию FireFox. Открываем 2 каталога, с нашим FireFox, и 32-битным. Заменяем всё содержимое каталога chrome содержимым русского FireFox. То, чему замены нет, не удаляем. Ни в коем случае не трогаем каталог components.

Заменяем все файлы в каталоге defaults. Копируем русский словарь в dictionaries - при желании можно стереть английский. Не трогаем extensions. Заменяем все три файла в каталоге greprefs. Заменяем icons и modules. Ничего не заменяем в plugins, ведь там 64-битные библиотеки. При желании туда можно скопировать 64-битный Flash-проигрыватель. Не трогаем res. Заменяем всё в searchplugins, при желании можно всё оставить как было или наоборот, удалить всё, что было. Не трогаем updates. Меняем файлы application.ini, browserconfig.properties, firefox, old-homepage-default.properties, platform.ini, README.txt, run-mozilla.sh, updater.ini, update.locale, добавляем файл Throbber-small.gif (хотя я не знаю, нужен ли он...).

Всё готово. Осталось переименовать каталог bin в firefox и заархивировать, дав ему имя, например, firefox-3.5.5-x86_64.tar.bz2.


URL:
Обсуждается: http://www.opennet.dev/tips/info/2222.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Agressor (ok) on 11-Ноя-09, 03:13 
Да... действительно разрабы чего-то упустили... Больше полутора лет сижу на x86_64 и FF всегда собирался из portage под систему... Никогда не задумывался о том что его не собирают в бинарных дистрах под x86_64. Никто не скажет, почему мозилловцы не поддерживают эту сборку?
И по поводу 32-битного Flash - примерно пол года как в системе 64-битный... Странно это все... Убунта начинает отставать - не успевают тестировать пакеты?
Эх, убунтологи, мне бы ваши проблемы:)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от ffsdmad (ok) on 11-Ноя-09, 08:12 
:~$ uname -a
Linux ffsdmad-home 2.6.31-15-generic #49-Ubuntu SMP Fri Nov 6 09:55:13 UTC 2009 x86_64 GNU/Linux:~$ cat /etc/issue
Ubuntu 9.10 \n \l
:~$ file /usr/lib/firefox-3.5.4/firefox
/usr/lib/firefox-3.5.4/firefox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

скажите у меня 32 битный фирефокс?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от pavlinux (ok) on 11-Ноя-09, 09:44 
suse64:/home/pavel # ll `which firefox`
lrwxrwxrwx 1 root root 27 Ноя  8 17:20 /usr/bin/firefox -> ../lib64/firefox/firefox.sh

suse64:/home/pavel # file /usr/lib64/firefox/firefox
/usr/lib64/firefox/firefox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped

use64:/usr/lib64/firefox # file ../browser-plugins/*
../browser-plugins/javaplugin.so:     symbolic link to `/etc/alternatives/javaplugin'
../browser-plugins/libflashplayer.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
../browser-plugins/nsdejavu.so:       ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

suse64:/usr/lib64/firefox # ls /etc/alternatives/javaplugin -la
lrwxrwxrwx 1 root root 59 Ноя  3 06:56 /etc/alternatives/javaplugin -> /usr/lib64/jvm/jre-1.6.0-openjdk/lib/amd64/IcedTeaPlugin.so

suse64:/usr/lib64/firefox # file /usr/lib64/jvm/jre-1.6.0-openjdk/lib/amd64/IcedTeaPlugin.so
/usr/lib64/jvm/jre-1.6.0-openjdk/lib/amd64/IcedTeaPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

suse64:/usr/lib64/firefox # zcat /proc/config.gz | grep 86_32
# CONFIG_X86_32 is not set                                  

---------------
SuSE 11.2

Так шо, Pure 64 !!!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от pavlinux (ok) on 11-Ноя-09, 09:56 
>:~$ uname -a
>Linux ffsdmad-home 2.6.31-15-generic #49-Ubuntu SMP Fri Nov 6 09:55:13 UTC 2009 x86_64

А накой тебе на одном ЦПУ SMP ядро? Или это uname -a такая?


Linux suse64 2.6.32-rc6 #6 SMP PREEMPT Tue Nov 10 01:27:52 MSK 2009 x86_64 x86_64 x86_64 GNU/Linux

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "по стилю"  +/
Сообщение от Вова on 11-Ноя-09, 14:27 
в тексте ощущаются обороты:
"ах вот оно что!", "но не тут-то оно было", "Как я и предполагал" "ну наконец-то!"

кому интересно, тут про сборку огнелиса с qtшным уи: http://www.opennet.dev/openforum/vsluhforumID3/57377.html#35

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от User294 (ok) on 11-Ноя-09, 20:59 
>Недавно я обнаружил то, что на сайте firefox.com
>нет 64-битной версии браузера Mozilla FireFox для Linux.

Нету и хрен с ним - а заинсталить из репов не судьба?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от User294 (ok) on 11-Ноя-09, 21:01 
> Никогда не задумывался о том что его не собирают в бинарных дистрах под x86_64.

У убунтуйцев он сроду собран как 64-битный в 64-битной системе. Минус от этого только один - надо юзать или нестабильный бета флеш или своеобразный nspluginwrapper, который гейтует 32-битный плагин (как то флеш) в 64-битный браузер.

Для особых танкистов объясняю: если дистр собран под ARMEL, значит, ВСЕ БИНАРИ по умолчанию именно такие и ставятся. И с х64 аналогично - все бинари именно 64-битные по дефолту. Исключений мало и только там где это необходимо.А по дефолту даже вообще 32-битных либ в системе нет, они ставятся только для штук которые без 32-битов не могут работать, типа wine всяких. В свете этого половина аргументации автора в статье какой-то бред.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от User294 (ok) on 11-Ноя-09, 21:08 
>скажите у меня 32 битный фирефокс?

Нет, это просто лапша на уши, за дезу незачет! В большинстве 64-битных систем фокс из репов - именно 64-битный. В убунтах - точно. И так у них сто лет было - я давно х64 использую.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от User294 (ok) on 11-Ноя-09, 21:12 
> Так шо, Pure 64 !!!

Пусть автор этой кульной статьи скажет - откуда в его голове появилась мысль про 32-битный фокс в 64-битной системе :). А то сначала придумали себе проблему, которой нет, а потом ее решили. А просто инстальнуть из репов наверное слишком простым а потому неспортивным подходом показалось? :)

Disclaimer: я не против самого по себе упражнялова в пересборке фокса. Но я против заведомой дезы в описании того почему и зачем оно делается.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Zenitur email on 11-Ноя-09, 22:29 
Это... Укажите мне, где я указал на то, что в Ubuntu есть только 32-битный FireFox?
А версия 3.5 до начала прошлой недели в репозитарии не была доступна.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от aNoN on 12-Ноя-09, 13:30 
Это ж надо сколько фееричного текста надо было набить вместо tar xf *.tar.bz2 && ./configure && make && make install

> Поискав ошибку в Google, я обнаружил решение.

А документацию читать не пробовал, хотя бы вывод ./configure -- help?

И этааа, автор раз сам собираешь ff из исходников, ты про mercurial-репозиторий мозилы вообще не слышал?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Zenitur email on 12-Ноя-09, 23:51 
Не судьба. В репозитарии до начала прошлой недели FireFox 3.5 просто не было. Скачать с сайта? Там 32-битный...
Кроме того, в мире существует не только дистрибутив Ubuntu.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от User294 (ok) on 13-Ноя-09, 00:43 
1) Да, безусловно, можно сделать всю работу майнтайнеров за них, но тогда или вам геморрой по кайфу, или вы неправильно дистр выбрали.
2) В большинстве дистров 3.5 все-таки можно поставить из репов, как самый максимум подключив сторонние. Это все-таки быстрее чем этого монстра 40 минут компилячить.

Не, я могу понять компил SVN версии программы например, ну или порт на новую платформу. Но компилеж вышедшей далеко не вчера версии программы самолично намекает на некоторые свойства дистрибутивов где это требуется и на их нестыковку с потребностями того кто за монитором, уж пардон. Если что - пересбор фоксины без нужды у меня не вызывает особого энтузазизма даже на 4-ядерной машине :).То есть я конечно могу это сделать если захочу, но вот только что-то не хочется лишний раз с этим связваться.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Аноним (??) on 13-Ноя-09, 01:15 
raiden@ubuntu:~$ file /usr/lib/firefox-3.5.5/firefox
/usr/lib/firefox-3.5.5/firefox: ELF 64-bit LSB executable, x86-64...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Аноним (??) on 13-Ноя-09, 14:13 
Причина проста и понятна - дистрибутивные сборки отстают от официальных сборок, а человеку хочется новья. enjoy your aids, пользователи бинарных дистров, даже с полугодовым циклом релизов.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Аноним (??) on 13-Ноя-09, 14:16 
>1) Да, безусловно, можно сделать всю работу майнтайнеров за них, но тогда
>или вам геморрой по кайфу, или вы неправильно дистр выбрали.

Лолнуб, в "неправильных" дистрах это делается ни чуть не сложнее, чем выполнить команду от sudo


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от vkni on 13-Ноя-09, 21:44 
>Пусть автор этой кульной статьи скажет - откуда в его голове появилась
>мысль про 32-битный фокс в 64-битной системе :).

Я когда ставил Windows 7, с удивлением обнаружил, что все основные браузеры под Windows только 32-х разрядные. Но под Linux, вроде бы всё 64-х, когда система x86-64. По крайней мере в Debian testing firefox был 64-х разрядный года два назад. Я отчётливо помню, что приходилось с flash'ем извращаться и ставить ради него доп. библиотеки linux32.

В 5-ом ALT вроде бы тоже он 64-x разрядный в соответствующей сборке.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Раздел полезных советов: Компиляция Mozilla FireFox для полу..."  +/
Сообщение от vkni on 13-Ноя-09, 21:49 
>Недавно я обнаружил то, что на сайте firefox.com нет 64-битной версии браузера
>Mozilla FireFox для Linux.

Это не удивительно, могли и 32-х разрядной под Linux не делать. Все же из дистрибутивов берут.

Удивительнее то, что 64-х разрядной под Windows там не скачать.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Раздел полезных советов: Компиляция Mozilla FireFox для полу..."  +/
Сообщение от Zenitur email on 15-Ноя-09, 10:43 
Это-то как раз неудивительно. vkni, что за отношение к Миру! Как будто на сайте свободного проекта делают большое одолжение, выкладывая бинарники... В то время, как исходный код в итоге даёт программу, которая не называется FireFox. Вы так за каждый свободный проект, надеюсь, не боитесь?
Не будет бинарников - найдутся те, кто сделает.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Раздел полезных советов: Компиляция Mozilla FireFox для полу..."  +/
Сообщение от vkni on 16-Ноя-09, 00:25 
>Как будто на сайте свободного проекта делают большое одолжение, выкладывая бинарники...

Ну, вообще-то большое одолжение делают просто выкладывая хоть что-то :-).

> Не будет бинарников - найдутся те, кто сделает.

О том и речь. Т.е. подавляющему большинству линуксоидов бинарники Firefox для Linux с сайта mozilla вообще не нужны. Просто потому, что дистрибутивоваятели делают свои сборки, приспособленные к соответствующим дистрибутивам.

Т.е. линукс бинарники на mozilla.com - это для маргиналов среди линуксоидов.

В то же время, бинарники под Windows нужны категорически, т.к. Microsoft не поставляет хорошие сборки Firefox со своими дистрибутивами.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Раздел полезных советов: Компиляция Mozilla FireFox для полу..."  +/
Сообщение от Zenitur email on 17-Ноя-09, 03:13 
Обычно в дистрибутиве одна сборка чего-либо, или две-три. Обновляться-то как?!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от botov email on 17-Ноя-09, 15:50 
http://www.mozilla-x86-64.com/
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

28. "Компиляция Mozilla FireFox для получения 64-битной версии"  +/
Сообщение от Zenitur email on 19-Ноя-09, 08:56 
Mozilla for Windows x64 platform???
Howto build Mozilla FireFox on Vista 64 bit???
Ну, хорошо... Почитаю... Если найдётся тот, кто проверит работоспособность способа сборки и их сборки, изменю статью!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру