The Mozilla
Organization
Our Mission
Who We Are
Getting Involved
Community
Editorials
What's New
Newsbot
Development
Roadmap
Module Owners
Blue Sky
Projects
Status
Tools
Products
Source Code
Binaries
Documentation
License Terms
Bug Reports
Quality
Search
Feedback

Unix Detailed Build Instructions

Daniel Nunes, leaf@mozilla.org
Last modified: Wed Aug 4 17:07:26 PDT 1999

This is a guide to building Mozilla on Unix including,

  • A list of the required development tools.
  • Commands to build Mozilla using the Autoconf build system.

For documentation on developing features or fixing bugs, look at the Mozilla Technical Documents or Mozilla Library. For general Unix issues, look at the Mozilla Unix.

Other Unix Build pages

Requirements

Your hardware should be equal to, or better than:
    32 MB RAM, 128 MB swap (64 MB RAM recommended)

The following software should be installed. (You can download gcc, gmake and autoconf from prep.ai.mit.edu.)

  • If you're using a glibc 2.07 system, you need this patch
  • egcs 1.0.3 (or higher), or gcc 2.7.2.x (2.8.x still has some bugs),
    or your platform's native C/C++ compiler.
    egcs is recommended, this is the compiler that the Linux tinderboxes and many developers are using.
  • Perl 5
  • GNU make 3.74 (or higher except 3.77).
    GNU make 3.77 shipped with bug a that breaks the NSPR build. Revert to 3.76.1 until this is fixed.
  • CVS 1.9 (or higher). To get started:
    1. setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
    2. cvs login (password: anonymous) (You only need to do the login once.)
  • GTK+ / GLib 1.2.0 (or higher).
  • libIDL 6.3 (or higher).
    Source snapshots are available from Mozilla via ftp. If you're running Red Hat, download the libIDL and libIDL-devel RPMs and install them as above.

    OPTIONAL

    • Autoconf 2.12 (which requires GNU m4), is necessary if you want to hack on configure.in. If you have no idea what this means, then don't worry about it. It's optional.

Get the Code

There are two ways to get the code:

  • ftp: Drops are generally produced at least once per month, and are known to compile and even run on a few platforms.
  • CVS: Provides the most current code, but is slower than ftp.
      setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
      cvs co SeaMonkeyAll
    The SeaMonkeyAll module pulls the right source for building the viewer and apprunner.

Build the Lizard

Manually drive the build

  1. cd mozilla
  2. ./configure
  3. gmake

Once you have configured, you only have to run configure if you add or remove Makefile.in files (cvs update can do this. Beware!). The list of makefiles is in mozilla/allmakefiles.sh

For build system hackers: If you change configure.in, cd to mozilla, and run autoconf. This generates a new configure script. (When you checkin configure.in, cvs will run autoconf and check in a new configure script for you).

Automated build (client.mk)

  1. Save the script from Unix Build Configurator as ~/.mozconfig.
  2. cvs co -f mozilla/client.mk
  3. cd mozilla
  4. gmake -f client.mk
If you want to build without pulling the tree (as in, you already have the source lying around),
    gmake -f client.mk build
If you just want to pull the tree,
    gmake -f client.mk checkout

After the build

  • cd dist/bin and you should see links to the scripts to run the executables: mozilla-viewer.sh and mozilla-apprunner.sh.
  • If the scripts do not work, set LD_LIBRARY_PATH and run viewer and apprunner directly. Set LD_LIBRARY_PATH to include dist/bin, and the NSPR and GTK libraries. (For example, you might set it to .:../../nspr/lib).
    • On HP-UX, the equivalent environment variable is SHLIB_PATH.
    • On AIX, the equivalent environment variable is LIBPATH.
  • If you run the executables from anywhere other than dist/bin, you must set the environment variable MOZILLA_FIVE_HOME to point to the absolute path of the dist/bin directory.
  • Update your tree by re-checking out the source, e.g. repeating the initial checkout process.

Copyright © 1998-1999 The Mozilla Organization.