Last modified 3 years ago Last modified on 06/13/2014 11:23:38 AM

From LSST Wiki Table of Contents

NOTE: See new content here:

Installing the LSST Build System and Software Stack

The LSST build system is a collection of tools that allow one to automatically build and install the entire LSST Software Stack necessary to run pipelines and do development. The stack is made up of a number of packages, including both third-party packages (e.g. python, swig, cfitsio, etc.) and LSST packages (packages developed by the project, specifically for LSST). A server at provides downloadable versions of "official" releases of these packages, which we call distributions. The distribution mechanism is similar in spirit to RPM or Debian distribution packages, but with some notable differences from the way we usually see those systems:

  • The distributions are usually in source form which are then automatically built on your local platform.
  • They are not installed as root and are not installed under /usr; rather, they are installed by a regular user into a single directory tree. If you wish, you can remove (with rm) or replace the entire tree at anytime.
  • Multiple versions of packages may coexist in the software stack at one time. The EUPS tools allow you to switch between different versions flexibly.

Below are pointers to instructions for installing an initial stack on your system. Because we build from source, installation takes a while; a full stack takes about an hour or more, depending on your system. Once you have at least a minimal stack in place, you can use the lsstpkg tool (a wrapper around eups distrib from the EUPS toolset) to install new packages or new versions of packages.

Getting and Installing the Stack

Release Instructions
Winter 2014 Installing/Winter2014? (future release)
Summer 2013 Installing/Summer2013 (stable)
Winter 2013 Installing/Winter2013
Summer 2012 Installing/Summer2012
Winter 2012 Installing/Winter2012
Older releases Getting Started

Building from git

All of LSST DM source code resides in our git repository.

Assuming you have set up an initial stack (see above), a package from the LSST DM's git repository can be cloned, built, and setup-ed to override an installed stack package. For example, to build a custom version of afw using the branch tickets/1857, and override the installed afw, do:

source $LSST_HOME/
setup lsstactive

git clone git://
cd afw
git checkout tickets/1857
setup -j -r .
scons opt=3

If you need to use clang as a compiler, as cc=clang to your scons line as follows:

scons opt=3 cc=clang

Note: We don't currently have instructions for how to bootstrap the entire stack from git.

If you find that port 9418 (used by the git protocol) is blocked by your firewall, substitute the URL