Linux Prerequisites

Hardware requirements

  • 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 && python

If you are behind proxy use the following method:

Set up your environment variables to appropriate proxy server address like this:

export http_proxy=http://username:password@PROXY_SERVER_ADDRESS/
export https_proxy=https://username:password@PROXY_SERVER_ADDRESS/

Now, run the wget command to install the system prerequisites:

wget -O --proxy-user=username --proxy-password=password && python

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

mk_add_options PYTHON=/usr/bin/python2

to your .mozconfig file.

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.
  • GNU make 3.80 or higher. Other varieties of "make" will not work.
  • 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)
  • fontconfig
  • 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)
  • libnotify-dev
  • Yasm version 1.1.0 or newer.
  • Python 2.7.3 or later. Python 3 might not work.
  • autoconf-2.13 (requires GNU m4) - Autoconf 2.5x will not work. See bug 104642 for details.
  • binutils-avr
  • libgl1-mesa-dev (since about 2017-03-13, see bug 1349967 )
  • Rust
  • Cargo
  • cbindgen

Additional Information