I successfully built the Firefox brower (bleeding edge version) on Ubuntu Linux using gcc. Amazingly, I managed to compile it on an ancient AMD 1.1GHz machine with 256MB of RAM. I'm well aware of the minimum build requirements but since I had restricted resources over the weekend, I went ahead anyway.
The entire journey took approximately two days. As you may have guessed, most of the problems that occured were due to hardware issues (ie. lack of memory). But this just proves that where there's a will, there's always a way!
Get on IRC
The first thing I did was get on #seneca channel (irc.mozilla.org) and idled for a week or so. The concept was to wait for others to try building Firefox, let them share their error messages and log all the suggestions shared by everyone who helped to resolve the issues.
In short, this helps one figure out which operating system is the best and painless option for building Firefox. Not to mention, it helps a lot to obtain a list of required dependencies before having to watch the compiler spit out the error messages at you.
Deciding which version of Firefox to build
One week later, I'm finally ready to start building.
After reading some suggestions, I decided to go for the bleeding edge builds on CVS. Apparently mylau faced a number of issues while building from the stable source archive, and Vlad's suggestion was to go with CVS to avoid those headaches.
Getting the required dependencies
The default installation of Ubuntu 6.06 was rather bareboned for developers. I had to install some required tools to get started:
sudo apt-get install cvs gcc
Now I'm ready to check out some code and compile stuff! After getting the green light on Tinderbox, I proceeded by executing the following command:
cvs -d :pserver:anonymous:firstname.lastname@example.org:/cvsroot co mozilla/client.mk
...more to come
Here's the screenshot of the Firefox build I compiled:
(to be uploaded)