Open main menu

CDOT Wiki β

Building Open Source Projects Lab Fall 2008


This lab is designed to give you first-hand experience building a large open source project from source, specifically Mozilla Firefox or This includes setting-up a proper development/build environment, using revision control to obtain the latest source code, configuring your build, and actually doing a complete build.

By the end of this lab you should have a functioning debug trunk build of Firefox or, which we'll use for the remainder of the term for other development work.


  • Both Firefox and run on Windows, Linux, and Mac. You can, and should, get experience building on all 3 platforms, but begin with one and do more if you have time.
  • If you've never built either before, build Mozilla Firefox trunk (i.e., 3.1). If you have built Firefox in the past, build trunk (3.x) for a new experience.
  • Follow the instructions for creating a build environment, obtaining the source, configuring, and building:
  • Once your build is complete, run it, and get a screenshot of the build number
    • For Firefox, use Help > About or enter about: in your address bar.
    • For, use Help > About
  • Create a wiki page under your username and post any build output, notes, etc. and the screenshot
  • Write a blog post about your experiences. What was hard? What did you learn that you didn't know before? How would you do it differently next time? What advice would you give others trying this?
  • NOTE: You will have problems. Don't let that make you feel bad. Instead, use IRC, your classmates, the web, etc. to solve them.

Various Tips

  • Do not use your default profile with your newly built Firefox in case something gets broken. Instead, run your browser like this:
objdir/dist/bin/firefox -no-remote -profilemanager

Now create a new temporary profile for testing.

  • You can obtain Microsoft Visual Studio from ACS via their MSDN download centre. Make sure you get the right version (it matters a lot!).
  • In order to build with another operating system, consider creating a virtual machine so that you don't wreck your main operating system. You can use Sun's Virtual Box, VMWare Player, Wubi, or many others. All are free, and can be used to host Windows/Linux.
  • The first floor of TEL has a research area with fast build machines. These machines are there for you to use. Your professor will show you where and how to access them.