Your Search Results

    Simple SeaMonkey build

    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:

    • Recommended: 4GB of RAM (having only 2GB RAM and 2GB swap may give memory errors during compile)
    • 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
    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 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:
    • If you're using Windows XP, you must have Windows XP Service Pack 2 and .NET Framework 2.0.
    • Install Visual C++ 2010 or 2012. 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-msvcX.bat (where X is 8 for VS 2005, and 9 for VS 2008). 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:\Documents and Settings\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 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
    hg clone http://hg.mozilla.org/comm-central/
    cd comm-central
    python client.py checkout
    
    # Setup a basic .mozconfig file
    echo 'ac_add_options --enable-application=suite' > .mozconfig                # let's build SeaMonkey...
    #echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-sm-release' >> .mozconfig   # ...in this directory...
    # NOTE: There is currently a bug whereby the build will fail if @TOPSRCDIR@ is used; instead, hardcode a full path.
    echo 'mk_add_options MOZ_OBJDIR=/home/johndoe/path/to/comm-central/obj-sm-release' >> .mozconfig
    
    # USE THIS ONLY IF NOT ON WINDOWS!  Parallel compilation on Windows is unreliable now
    # due to bug 524149. Use pymake (https://developer.mozilla.org/en/pymake) instead of make there
    echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> .mozconfig                       # ...quickly.
    
    # Build
    # Note: This requires autoconf 2.13 (at least initially)
    # pymake: python -OO mozilla/build/pymake/make.py -f client.mk
    make -f client.mk
    
    • 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=@TOPSRCDIR@/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 will likely be some subfolder of c:\Documents and Settings on 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/mozilla/dist/bin/ (on Mac, obj-sm-release/dist/SeaMonkey.app/Contents/MacOS/).

    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 "make -f client.mk" command above. make will only recompile files that changed, but it's still a long haul. An incremental build can be faster.

    References

    Document Tags and Contributors

    Last updated by: Jez9999,