If you prefer annotated videos to wiki pages, there is a video available for Linux users.
- How to Build Firefox by saurabh
- 4G RAM with lots of available swap space. Additional RAM will significantly decrease build time.
- For debug builds: at least 8 GB free disk space
- For optimized builds: at least 1 GB free disk space (6 GB recommended)
Build Tools and Dependencies
Most Distros - One Line Bootstrap Command
Try to run the following to install all system prerequisites:
wget -O bootstrap.py https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py
If you are behind proxy use the following method:
Set up your environment variables to appropriate proxy server address like this:
Now, run the wget command to install the system prerequisites:
wget -O --proxy-user=username --proxy-password=password bootstrap.py https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py
If this doesn't work, continue on to one of the sections below.
Note that Python3 is the default
python in e.g. Arch Linux, but Mozilla requires Python2, which is installed above. There are a few ways to work around this. One is to add
Other distros, and other Unix-based systems
On other systems, you can install the tools individually:
mkdir ~/bin ln -sf `which python2` ~/bin/python
- A recent POSIX Shell
- A C++ compiler. GCC 6.1+ or Clang 8.0.0+ is required. Again, please note that as of Firefox 61, GCC 4.9 and earlier are no longer supported, and will not work; your platform's native compiler may work, provided it supports those features of C++11 that the Firefox codebase relies on, which are listed here. (Firefox 51 requires GCC 4.9+).
- Perl 5.6 or higher. Older perl versions may work if you upgrade File::Spec to version 0.8
- GNU make 3.80 or higher. Other varieties of "make" will not work.
- the GTK2 widget toolkit, version 2.10 or higher
- As of Firefox 42, the GTK3 widget toolkit, version 3.4 or higher
- libXt-devel for X11/Intrinsic.h, X11/Shell.h
- libIDL 0.6.3 or higher Source snapshots are available from Mozilla via ftp. If using the RPMs, you'll need both the regular rpm and the -devel rpm. If you already have ORBit installed, then you do not need to install libIDL as ORBit bundles libIDL. You may need to install the ORBit-devel package if you use packages.
- zip 2.3 (or higher)
- freetype 2.1.0 (or higher)
- libgstreamer 0.10 (or higher) and its base plugins
- pkg-config 0.9.0 (or higher)
- dbus-1-glib-devel (Developer package for D-Bus/GLib bindings)
- libasound2-dev (needed for audio playback support)
- pulseaudio-libs-devel (preferred for audio over ALSA)
- Yasm version 1.1.0 or newer.
- Python 2.7.3 or later. Python 3 will not work.
- autoconf-2.13 (requires GNU m4) - Autoconf 2.5x will not work. See bug 104642 for details.
- libgl1-mesa-dev (since about 2017-03-13, see bug 1349967 )
To install autoconf-2.13 from source:
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
- For errors pertaining to alsa/ogg support: https://developer.mozilla.org/en-US/docs/alsa