Table of Contents
NOTE: See new content here: https://confluence.lsstcorp.org/display/LSWUG/Getting+Started+with+the+LSST+Software+Stack
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 dev.lsstcorp.org 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
|Winter 2014||Installing/Winter2014? (future release)|
|Summer 2013||Installing/Summer2013 (stable)|
|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/loadLSST.sh setup lsstactive git clone git://dev.lsstcorp.org/LSST/DMS/afw.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 http://dev.lsstcorp.org/git/LSST/DMS/afw.git.