This article is in need of a technical review.
You can build a bleeding-edge, development version of SeaMonkey using the commands below. For complete information, see the build documentation.
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:
- Recommended: 8GB of RAM (having only 4GB RAM and 4GB swap may give memory errors during compile)
- 35 GB free disk space. This will accomodate Visual Studio 2013 Community Edition, the required SDKs, the MozillaBuild package, the Mercurial source repository and enough free disk space to compile. A fast SSD is recommended; the Firefox build process is I/O-intensive.
- High speed internet
Installing build tools
If your system is not listed below, see the build prerequisites page.
# 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
# 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
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"
Problems? See Windows build prerequisites.
Building SeaMonkey requires at least 2 GB of disk space and 256 MB of available RAM.
# Get the source # for Aurora, use http://hg.mozilla.org/releases/comm-aurora/ and comm-aurora instead # for Beta, use http://hg.mozilla.org/releases/comm-beta/ and comm-beta instead # for Release, use http://hg.mozilla.org/releases/comm-release/ and comm-release instead hg clone http://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
- For a debug build, you need different configuration options in your
.mozconfigfile. This requires more disk space, about 3 GB, and twice as much available RAM.
mk_add_options MOZ_OBJDIR=/path/to/comm-central/obj-sm-debug ac_add_options --enable-application=suite ac_add_options --enable-debug ac_add_options --disable-optimize
- Normally a shared build suffices for debugging purposes but current nightly releases are actually static builds which require even more memory to link. The support for libxul builds is still experimental but it should work if you --disable-mailnews.
- On Windows, the above commands will create the
%USERPROFILE%which may be some subfolder of
c:\Documents and Settings\on systems upgraded from XP or below. The space in this directory name, or in your user name if it contains one, will cause the configure script to break. To (possibly) fix this,
cdto a dir without spaces before doing the "
hg clone" command above.
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.