Compiling Mozilla Firefox on 32-bit Ubuntu Linux


Remember to double-check these procedures against what is posted on https://developer.mozilla.org/ and your own common sense. Developmental software can change quickly and requirements come and go.



If you want the newest version in development, this is the only way to go.

Everything here is merely a re-hashing of the guidelines set forth by Mozilla. The beginning of the procedure can be found here.

This was done on Linux Mint 6.0. This is a derivative of Ubuntu, so it should work there, too. In other words, this article is meant for Debian-like operating systems with apt-get.

To start, install what Mozilla deems the absolute basics. You may or may not already have some of these. Merely run the bold command in a terminal, or hunt and peck through your package manager for the individual files. They should appear in the package manager exactly as they are listed here.

sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev python-setuptools python-dev build-essential

Mercurial (the code grabber) may not be completely updated from this. To get the latest version:

sudo easy_install -U mercurial

Now we need to configure Mercurial. Only developers need a merger program, but we will install one anyway. I recommend “meld.”

sudo apt-get install meld

Open up the file “/etc/mercurial/hgrc” with root privileges. For example:

sudo vim /etc/mercurial/hgrc

Drop this into there:


[ui]
username = Your Real Name
merge = your-merge-program (or internal:merge)

[diff]
git = 1

[defaults]
diff=-p -U 8


It should look something like this:

Now, to get the bloody-fresh new code. Download it via Mercurial and then enter the directory we just created. I would recommend entering this command from inside a “Projects” folder. Do not do this near anything important, or those files will get lost in the mess.

hg clone http://hg.mozilla.org/mozilla-central/ src

cd src

Downloading Using Mercurial

Downloading Using Mercurial

Now we need to install automake Version 2.13 because Firefox is picky about that.

sudo apt-get install automake2.13

We need to create a file called “.mozconfig” to handle some details for us. Make sure you are in the top level directory (src) if you are following this exactly) of all the source you just downloaded. Then copy and paste these lines:

echo ‘. $topsrcdir/browser/config/mozconfig’ > .mozconfig

echo ‘mk_add_options AUTOCONF=autoconf2.13’ >> .mozconfig

That will add two lines to the “.mozconfig” file that will be automatically created.

Finally, still in that top-level directory, begin compiling with the command:

make -f client.mk build

Checking Prerequisites

Checking Prerequisites

Depending on the Distribution of Linux, different things will be missing. For example, after beginning the prerequisite check, “make” spit back this:

Something is Missing

Something is Missing

I had to:

sudo apt-get install dbus-glib-1

to fix that, and then:

make -f client.mk build

again. If no additional problems are found, compiling will begin. This cannot be disturbed for the time that it is running. So do not close the terminal. It may take a few hours to compile.

After it has finished, and you are given control of the terminal again, you will want to run the new binary and see if it works. Close all instances of Firefox open, and then head to the top of the source directory. To run the new Firefox binary, and not the one from the repositories,

./dist/bin/firefox

Advertisements

Leave a comment

Filed under Computing, How-To

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s