Video Tutorial
Se voce prefere acompanhe os videos para as páginas wiki, existe um disponível para usuarios Linux.
Hardware
- 512MB RAM com muito espaço de swap disponível. Para estatica e XULRunner compilações, 1GB RAM minimo. RAM adicional permitirá significativa melhora no tempo de compilação.
- Para depuração de compilação: No mínimo 2 GB livre em disco (2.5 GB recomendado)
- Para otimizar a compilação: no mínimo 600 MB livre em disco (1 GB recomendado)
Ferramentas de compilação e Dependencias
Todas distribuições - Uma única linha de comando
Tente executar a instrução abaixo para instalar todos pre requisitos de sistema:
wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py
Se isto não funcionar, continue em uma das seções abaixo.
Ubuntu
Voce pode baixar e instalar todos os pre requisitos com o seguinte comando:
sudo apt-get install mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libiw-dev libxt-dev mesa-common-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
libcurl4-openssl-dev
e requerido somente para reportar erro de depuração. Se você esta usando o --disable-crashreporter
opção de configuração, então você não precisa instalar este.
Se voce está usando o chroot como seu modo de compilação, então voce pode precisar instalar algumas dependências adicionais com o seguinte comando:
sudo apt-get install zip unzip
Estas instruções devem instalar o compilador padrão para a sua atual distribuição Ubuntu. Se voce prefere usar GCC 4.5, então este é disponível para o Ubuntu 11.04 e mais novos, voce deverá instala - lo manualmente com:
sudo apt-get install g++-4.5
Se voce fez isto, lembre - se que voce precisa definir cc e cxx em seu ambiente para apontar o correto depurador.
Debian
Voce pode baixar e instalar todos os pre requisitos com este comando (como administrador):
aptitude install zip mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev libidl-dev
mesa-common-dev autoconf2.13 yasm libgtk2.0-dev libdbus-1-dev libdbus-glib-1-dev python-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
Se voce esta executando com o modo chroot , ou com o mínimo instalado, voce pode também precisar instalar alguns pacotes básicos:
aptitude install unzip gcc g++ make patch
Adicionais para Debian Squeeze
No Debian Squeeze, voce precisa instalar yasm-1.x para squeeze-backports. Voce pode também obter mercurial se voce precisa de compatibilidade com um repositório mercurial 2.x existente.
echo "deb https://backports.debian.org/debian-backports squeeze-backports main" >> /etc/apt/sources.list aptitude updateaptitude -t squeeze-backports install yasm
mercurial
Debian Squeeze tem somente Python 2.6 e sistema de compilaçao Mozilla perguntas para Python 2.7. Mas python 2.7 e o Debian Wheezy e um misto dos pacotes do Debian para diferentes versões podem ser feitas com apt pinning, isto não é recomendado por que ele pode deixar seu sistema instavel, e voce poderá ter vários problemas de dependencias.
A mais fácil solução e usar pythonbrew.
# Make sure you have libbz2-dev installed before, it's needed to have bz2 module in Python. aptitude install libbz2-dev # Install pythonbrew like described in the documentation curl -kL https://xrl.us/pythonbrewinstall | bash # Install Python 2.7 and make it the default pythonbrew install 2.7.3 pythonbrew switch 2.7.3 # Check version python --version
openSUSE/SUSE Versões Linux
Execute o seguinte comando (como root):
zypper install \ make cvs mercurial zip gcc-c++ gtk2-devel xorg-x11-libXt-devel libidl-devel \ freetype2-devel fontconfig-devel pkg-config dbus-1-glib-devel mesa-devel \ libcurl-devel libnotify-devel alsa-devel autoconf213 libiw-devel yasm \ dbus-1-glib-devel gtk2-devel gstreamer010-devel gstreamer010-plugins-base-devel
RedHat Versão Linux (RHEL)/CentOS/Fedora
Execute o seguinte comando
sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
sudo yum install mercurial autoconf213 glibc-static libstdc++-static yasm wireless-tools-devel mesa-libGL-devel alsa-lib-devel libXt-devel gstreamer-devel gstreamer-plugins-base-devel
# 'Development tools' is defunct in Fedora 19 use the following
sudo yum groupinstall 'C Development Tools and Libraries'
RHEL/CentOS não incluiu Mercurial em seus repositorios. Voce pode instalar o pacote RPM diretamente para RPMForge (https://packages.sw.be/mercurial/) usando o seguinte comando (mude para a sua correta versão/arquitetura):
wget https://packages.sw.be/mercurial/mercurial-VERSION.rpm rpm -Uhv mercurial-VERSION.rpm
Se voce ja tem adicionado o repositorio RPMForge para seu sistema, simplesmente yum install mercurial
deve trabalhar bem.
If you have already added the RPMForge repositories to your system, a simple yum install mercurial
should work as well.
Arquitetura Linux
Instale os seguintes pacotes:
pacman -Syu --needed base-devel zip unzip freetype2 fontconfig pkg-config gtk2 dbus-glib iw libidl2 python2 mercurial alsa-lib curl libnotify libxt mesa autoconf2.13 yasm wireless_tools gstreamer0.10 gstreamer0.10-base-plugins
Python
Observe que Python 3 e o padrão para a arquitetura Linux, contudo Mozilla requer python2, escolha a instalação acima. Existem poucos caminhos para trabalhar com este. Um e adicionar
mk_add_options PYTHON=/usr/bin/python2
Para seu .mozconfig
arquivos, e compile pelo utilitário de construção do Mozilla (mach
) com o script python 2 (escolha este):
python2 mach build
Outro método e criar um link simbolico para python 2 em seu ~/bin diretorio,
mkdir ~/bin ln -s `which python2` ~/bin/python
E acrecente ~/bin para iniciar o seu $PATH.
export PATH=~/bin:$PATH
Outros métodos, e.g alias python=/usr/bin/python2
pode não funcionar.
Autoconfigurações
A versão padrão de arquitetura atual e 2.69, no entanto o Mozilla requer 2.13, escolha a instalação abaixo (Veja o nome de execução e diferente que o pacote). Adicione está linha para seu arquivo .mozconfig
:
mk_add_options AUTOCONF=autoconf-2.13
Todos os outros sistemas
Nos outros sistemas, voce pode instalar as ferramentas individualmente:
mkdir ~/bin ln -sf `which python2` ~/bin/python
- O recente terminal POSIX
- O compilador C++. GCC 3.4 ou melhor recomendado, ou sua plataforma nativa C/C++ do compilador.
- Perl 5.6GNU make ou superior. Antigas versões do perl podem funcionar se voce acrescentar File::Spec para versão 0.8
- GNU make 3.80 ou superior. Outras versões "podem" não funcionar.
- O kit GTK2 versão 2.10 ou superior.
- libXt-devel for X11/Intrinsic.h, X11/Shell.h
- libIDL 0.6.3 ou distribuição superior são disponíveis para Mozilla via ftp. Se voce usa pacotes RPM, voce pode precisar dos pacotes estaveis RPM e o -develrpm. Se voce já tem o ORBit instalado, então voce não precisa instalar libIDL com o ORBit pacotes libIDL. Voce pode precisar instalar o pacote ORBit-devel se voce usa pacotes.
- zip 2.3 (ou superior)
- freetype 2.1.0 (ou superior)
- fontconfig
- libgstreamer 0.10 (ou superior) e seus plugins base
- pkg-config 0.9.0 (ou superior)
- dbus-1-glib-devel (Pacote de desenvolvimento para D-Bus/GLib bindings)
- libasound2-dev (necessário para Ogg support)
- libnotify-dev
- Yasm versão 1.1.0 ou superior.
- autoconf-2.13 (requerida GNU m4) - configurações automáticas 2.5x não devem funcionar. Ver bug 104642 para mais detalhes.
Para instalar autoconf-2.13 do espelho:
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz tar -xvzf autoconf-2.13.tar.gz cd autoconf-2.13/ ./configure --program-suffix=2.13 make sudo make install
Voce poderá precisar export AUTOCONF=autoconf2.13
em sua versão (e.g. acrescente isto em .profile em seu diretório pessoal) ou adicione está linha em seu .mozconfig
arquivos:
mk_add_options AUTOCONF=autoconf2.13
Informações adicionais
- Para erros pertencentes reporte a alsa/ogg suporte:
- https://developer.mozilla.org/en-US/docs/alsa