This document will help you get set up to build Firefox on your owncomputer. Getting set up can take a while - we need to download alot of bytes! Even on a fast connection, this can take ten to fifteenminutes of work, spread out over an hour or two.
Requirements¶
Firefox, one the most important browsers currently available, along with Google Chrome, is now also available for Android devices. Its list of features and benefits is long enough to strongly consider using it as the default browser on your phone or tablet.
Memory: 4GB RAM minimum, 8GB+ recommended.
Disk Space: At least 30GB of free disk space.
Operating System: A 64-bit installation of Linux. It is advisableto ensure that your system is fully up-to-date.
Note
Some Linux distros are better-supported than others. Mozilla maintainsbootstrapping code for Ubuntu, but others are managed by thecommunity (thanks!). The more esoteric the distro you’re using,the more likely that you’ll need to solve unexpected problems.
1. System preparation¶
- Firefox for Android. Fenix (internal codename) is the all-new Firefox for Android browser, based on GeckoView and Mozilla Android Components. Note: The team is currently experiencing heavy triage and review load, so when triaging issues, we will mainly be looking to identify S1 (high severity) issues. See our triage process here.Please be patient if you don't hear back from us immediately.
- Firefox makes it to version 54, Mozilla dubs it 'the best Firefox' Mozilla has announced the latest update to its popular web browser. Firefox is now up to version number 54 with changes that, according to the company, make it 'the best Firefox in history' thanks to an important performance tweak in the form of multiprocess support when loading tabs.
1.1 Install Python¶
To build Firefox, it’s necessary to have a Python of version 3.6 or laterinstalled. Python 2 is no longer required to build Firefox, although it is stillrequired for running some kinds of tests. Additionally, you will probably needPython development files as well to install some pip packages.
You should be able to install Python using your system package manager:
For Debian-based Linux (such as Ubuntu):
sudoapt-getinstallpython3python3-dev
Nas and damian marley album download free. For Fedora Linux:
sudodnfinstallpython3python3-devel
If you need a version of Python that your package manager doesn’t have (e.g.:the provided Python 3 is too old, or you want Python 2 but it’s not available),then you can use pyenv, assuming that yoursystem is supported.
1.2 Install Mercurial¶
Firefox Download
Mozilla’s source code is hosted in Mercurial repositories. You willneed Mercurial to download and update the code.
Note that if you’d prefer to use the version of Mercurial that ispackaged by your distro, you can skip this section. However, keep inmind that distro-packaged Mercurial may be outdated, and thereforeslower and less supported.
You can test that Mercurial is installed by running:
Note
If your shell is showing commandnotfound:hg
, then Python’s packages aren’tbeing found in the $PATH
. You can resolve this by doing the following andrestarting your shell:
2. Bootstrap a copy of the Firefox source code¶
Now that your system is ready, we can download the source code and have Firefoxautomatically download the other dependencies it needs. The below commandwill download a lot of data (years of Firefox history!) then guide you throughthe interactive setup process.
Note
In general, the Firefox workflow works best with Mercurial. However,if you’d prefer to use git
, you can grab the source code in“git” form by running the bootstrap script with the vcs
parameter:
This uses Git Cinnabar under the hood.
Choosing a build type¶
If you aren’t modifying the Firefox backend, then then select one of theArtifact Mode options. If you arebuilding Firefox for Android, you should also see the GeckoView Contributor Guide.
3. Build¶
Now that your system is bootstrapped, you should be able to build!
🎉 Congratulations! You’ve built your own home-grown Firefox!
Now the fun starts¶
Time to start hacking! You should join us on Matrix,say hello in the Introduction channel, and find a bug tostart working on.See the Firefox Contributors’ Quick Reference to learn how to test your changes,send patches to Mozilla, update your source code locally, and more.
Firefox Mountain
Troubleshooting¶
Using a non-native file system (NTFS, network drive, etc)¶
Firefox Monitor
In our experience building Firefox in these hybrid or otherwise complex environmentsalways ends in unexpected, often silent and always hard-to-diagnose failure.Building Firefox in that environment is far more likely to reveal the flaws andshortcomings of those systems than it is to produce a running web browser.