You can build a bleeding-edge, development version of SeaMonkey using the commands below. For complete information, see the build documentation.

Build prerequisites

Hardware Requirements:

The SeaMonkey build process is both I/O- and CPU-intensive, and can take a long time to build even on modern hardware. Minimum and recommended hardware requirements for Mozilla development are:

Installing build tools

If your system is not listed below, see the build prerequisites page.

Debian Linux:
# this one-liner should install all necessary build deps
sudo aptitude install zip mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev libidl-dev mesa-common-dev autoconf2.13 yasm libgtk2.0-dev libdbus-1-dev libdbus-glib-1-dev python-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libpulse-dev
Ubuntu Linux
# for Ubuntu 12.04 LTS (Precise Pangolin), replace the following line with: sudo apt-get build-dep thunderbird
sudo apt-get build-dep seamonkey
sudo apt-get install zip unzip mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libnotify-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libiw-dev libxt-dev mesa-common-dev libpulse-dev
Fedora Linux
CentOS
RHEL:
sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
sudo yum install mercurial autoconf213 glibc-static libstdc++-static yasm wireless-tools-devel mesa-libGL-devel alsa-lib-devel libXt-devel gstreamer-devel gstreamer-plugins-base-devel pulseaudio-libs-devel
# 'Development tools' is defunct in Fedora 19 and above use the following
sudo yum groupinstall 'C Development Tools and Libraries'
sudo yum group mark install "X Software Development"
Mac:
  • Install Xcode Tools. Insert "Mac OS X Install Disc 2", then open XcodeTools.mpkg. (For some Mac OS X versions, you will find it in a directory called "Optional Installs".)
  • Install MacPorts.
  • Run these commands to install the other build tools:
    sudo port sync
    sudo port install mercurial libidl autoconf213 yasm
  • Problems? See Mac OS X build prerequisites.
Windows:
  • Install Visual C++ 2013. Both the professional edition and the express edition will work.
  • You may need to install one or more Windows SDKs. See Windows SDK versions for a quick guide.
  • If you decided on the Windows 8 SDK, you also need the Outlook 2010 MAPI Header Files from Microsoft.
  • Install MozillaBuild, a package of additional build tools. (If you get a message saying this application did not install properly then you should see a windows dialog giving you the option to re-install with the 'correct settings'. After that all should be well.)
  • Open a shell window by running: c:\mozilla-build\start-msvc2013.bat. Even if you're on 64-bit Windows, do not use the files ending in -x64.bat.
  • By default you will arrive in your Windows user home directory which is likely to contain spaces in its path (e.g. C:\Users\myaccount). This can lead to problems later in the building stage. To avoid that, create a directory without spaces in its path (e.g. mkdir /c/mozilla-src) and switch to it before building (cd /c/mozilla-src).

Problems? See Windows build prerequisites.

Building SeaMonkey

Building SeaMonkey requires at least 2 GB of disk space and 256 MB of available RAM.

# Get the source
# for Aurora, use https://hg.mozilla.org/releases/comm-aurora/ and comm-aurora instead
# for Beta, use https://hg.mozilla.org/releases/comm-beta/ and comm-beta instead
# for Release, use https://hg.mozilla.org/releases/comm-release/ and comm-release instead
hg clone https://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout

# Set up a basic .mozconfig file
echo 'ac_add_options --enable-application=suite' > .mozconfig                # let's build SeaMonkey...
echo 'mk_add_options MOZ_OBJDIR=/path/to/comm-central/obj-sm-release' >> .mozconfig

# Specify amount of parallel building. If the below is left out, a best guess will be taken automatically.
echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> .mozconfig                     # ...quickly.

# Build!
# Note: This requires autoconf 2.13 (at least initially).
# On Windows, be sure to use mozmake instead of make, otherwise parallel building will break.
make -f client.mk

Running SeaMonkey

The SeaMonkey executable can be found in obj-sm-release/dist/bin/ (used to be obj-sm-release/mozilla/dist/bin/) on Windows and Linux and in obj-sm-release/dist/SeaMonkey.app/Contents/MacOS/ on Mac.

How to build again later

In your comm-central directory, run these commands:

# Get the latest source
python client.py checkout

Then just re-run the "(moz)make -f client.mk" command above. (moz)make will only recompile files that changed, but it's still a long haul. An incremental build can be faster.

References