Your Search Results

    Simple SeaMonkey build

    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.

    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:

    • 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.

    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
    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"
    • 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.
    • 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 and comm-aurora instead
    # for Beta, use and comm-beta instead
    # for Release, use and comm-release instead
    hg clone
    cd comm-central
    python 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
    • For a debug build, you need different configuration options in your .mozconfig file.  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 comm-central directory in %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, cd to a dir without spaces before doing the "hg clone" command above.

    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/ on Mac.

    How to build again later

    In your comm-central directory, run these commands:

    # Get the latest source
    python checkout

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


    Document Tags and Contributors

    Contributors to this page:
    Last updated by: devallah,