You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



Build Instructions for NSS 3.3.1 Release

Newsgroup: mozilla.dev.tech.crypto

The instructions that follow describe how to build the NSS 3.3.1 release.

For detailed information about the NSS 3.3.1 release, see NSS 3.3.1 Release Notes.

Important: Before you build NSS, you should be familiar with the Mozilla CVS system; see source code via CVS for details.

NSPR Version: NSS 3.3.1 is compatible with NSPR 4.0 and higher versions. However, NSPR 4.1.2 and higher provide better performance than earlier versions.

Notes on New Build Instructions
Build Instructions for All Platforms
Testing


Notes on New Build Instructions

It is now possible to build all of NSS (including NSPR and DBM) entirely with coreconf; that is, without using the mozilla browser's make system.

It is no longer necessary to check out mozilla/config, mozilla/client.mk, or any other parts of the browser to build NSS and its dependencies.

It is no longer necessary to define any MOZ_* environment variables.

On Windows, it is not necessary to use nmake or cygwin or MKS tools to build NSS, NSPR, or DBM. Netscape's wintools gmake is sufficient for all these. You will also need ml.exe from the Microsoft Visual C++ Processor Pack: http://msdn.microsoft.com/vstudio/downloads/tools/ppack/download.asp.

Note re DBM: Using the instructions given here to build NSS 3.3.1 will not produce identical files to those released in ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_3_1_RTM/. This is because the new instructions use mozilla's version of DBM, and the released binaries use Netscape's private version of DBM. The two versions of DBM are compatible.

Platforms and gcc versions: The build instructions that follow have been tested on the following platforms with the indicated versions of the GNU C compiler (gcc). The instructions have not yet been tested on any 64-bit platforms.
Platform AIX  HP-UX  Linux  Windows  Compaq Tru64 Solaris 
gcc version ???? ???? 2.91.66 (egcs-1.1.2) ???? ???? 2.95.2

If you successfully build NSS with a version of gccnot listed above, please let us know the version and platform you used.

Previous build instructions: For the build instructions used with the previous release, see Build Instructions for the NSS 3.3 Release.


Build Instructions for All Platforms

The following new build instructions should work for all platforms (with some platform-specific changes as noted).

Before you begin: for Windows, if you haven't before, get Netscape's "wintools" as explained in 2.1 Requirements.

  1. Set environment variables:
    1. For Windows, set OS_TARGET to be either WINNT or WIN95 in the environment
    2. For Windows, make your PATH include the directory that contains Netscape's wintools (special gmake, shmsdos, etc.)
    3. If you want a non-debug optimized build, set BUILD_OPT=1 in your environment. Otherwise, you get a debug build. On Windows, if you want a debug build with the system's debug RTL libraries, set USE_DEBUG_RTL=1 in your environment.
    4. On Unix platforms, except Alpha/OSF1, if you want a build for the system's 64-bit ABI, set USE_64=1 in your environment. By default, NSS builds for the 32-bit environment on all platforms except Alpha/OSF1.
    5. Set the environment variable CVSROOT to :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
    6. To build with gcc on platforms other than Linux and Windows, you need to set two more environment variables:
      • NS_USE_GCC=1
        NO_MDUPDATE=1
    7. For Windows, make sure the environment variable HOME is set to the name of a writable directory, and does not end with a slash or backslash, e.g. c:/home
    8. For IRIX, you can set two variables:
      • Set USE_N32 to 1 if you want the build to generate n32 binaries. Default is to generate o32 binaries. This is mutually exclusive with the use of USE_64 (as documented).

        Set USE_PTHREADS to 1 if you want to use the IRIX pthreads implementation for threads. The default is to use IRIX sprocs for threads.

  2. cvs login (if you haven't before).

  3.  
  4. Do the following CVS checkouts. Note: CVS always takes forward slashes, even on Windows.
    • cvs co -r NSPRPUB_RELEASE_4_1_2 mozilla/nsprpub 
      cvs co -r NSS_3_3_1_RTM mozilla/security/coreconf
      cvs co -r NSS_3_3_1_RTM mozilla/dbm mozilla/security/dbm
      cvs co -r NSS_3_3_1_RTM mozilla/security/nss
  5. Build NSPR, DBM, and NSS:
    • cd mozilla/security/nss (or, on Windows, cd mozilla\security\nss)
      gmake nss_build_all
For information on troubleshooting the build system, see Troubleshooting NSS and JSS Build Systems.


Testing

Once you have successfully built NSS, see NSS 3.2 Test Suite for information on testing your build.