Installation guide

The build system of NSS originated from Netscape's build system, which predated the "configure; make; make test; make install" sequence that we're familiar with now. Our makefiles also have an "install" target, but it has a different meaning: our "install" means installing the headers, libraries, and programs in the appropriate directories under mozilla/dist.

So right now you need to manually install the headers, libraries, and programs in the directories you want. If you install the libraries in a directory other than /usr/lib, you usually need to set the LD_LIBRARY_PATH environment variable. You can avoid that by installing the libraries in a directory that is $ORIGIN/../lib, where $ORIGIN is the directory where the programs are installed. This is done here: http://lxr.mozilla.org/security/sour...platlibs.mk#53

53 ifeq ($(OS_ARCH), Linux)
54 ifeq ($(USE_64), 1)
55 EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib'
56 else
57 EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib'
58 endif
59 endif

For example, if you install certutil in /foo/bar/nss/bin and the .so's in /foo/bar/nss/lib, then you only need to add /foo/bar/nss/bin to your PATH; you don't need to set LD_LIBRARY_PATH.

The libraries you need to install are listed below.

NSPR:

  • libnspr4.so
  • libplds4.so
  • libplc4.so

NSS: (Note the use of * for libfreebl -- some platforms have multiple ones)

  • libfreebl*3.so
  • libfreebl*3.chk
  • libsoftokn3.so
  • libsoftokn3.chk
  • libnss3.so
  • libsmime3.so
  • libssl3.so
  • libnssckbi.so