There are some general LSST software stack requirements before installation: please check that your system has these the pre-requisites installed installed.
There are some additional requirements for the simulations packages, mostly python dependencies that are so ubiquitous in scientific computing environments that it is more difficult for users for us to provide new versions than it is to supply them with the stack. These requirements are (there is some overlap here with the basic stack requirements):
- python 2.7 or 3.6
- cmake - available from conda if required
- gfortran (which is necessary to build the ephemeris-generating software package oorb – this is ONLY needed if you are installing sims_movingObjects , as well as in addition to lsst_sims)
- On linux systems, gfortran is probably preinstalled. Otherwise, you can get gfortran binaries from https://gcc.gnu.org/wiki/GFortranBinariesMacOS or (on a mac) from the homebrew distribution (brew install gcc).
For the installation of the basic LSST packages, please check for additional requirements or known problems here: https://pipelines.lsst.io/install/newinstall.html and then follow a similar process to start the installation of the LSST build system. Warning
Note: the pipelines.lsst.io instructions will tell you to run In the past we have warned you against running newinstall.sh with the `-t` flag. This , which enables installation of the software packages as binariesDM binary builds. This process is not safe for lsst_sims. It ships GalSim (an lsst_sims dependency) in an unusable state. Please That is no longer a concern. `lsst_sims` will build against DM binaries. Feel free to run newinstall.sh without the with `-t` flag as shown below. You will then be installing from source, which can be time-consuming, but is more likely to leave you with a working version of lsst_sims.enabled.
cd ~/lsst curl -OL https://raw.githubusercontent.com/lsst/lsst/master/scripts/newinstall.sh bash newinstall.sh -3ct
You do not need to do "eups distrib install lsst_distrib", as described on the pipelines page, as we will install the required simulations packages below.
source ~/lsst/loadLSST.csh eups distrib install lsst_sims -t sims_weekly_tag curl -sSL https://raw.githubusercontent.com/lsst/shebangtron/master/shebangtron | python
This will install all packages currently in the catalogs simulations framework (CatSim) and metrics analysis framework (MAF) and all dependencies. The installation should take on the order of 2 hours1 hour, with a final required installation size of 10GB. Note that sims_weekly_tag will change depending on which weekly you want to install. Sims weekly tags are of the form sims_w_YYYY_WW. There is no good place to find what weekly has been most recently published, unfortunately. If you look at the release tab on the lsst/afw repository you should see what the latest release is. If, for example, the latest release is w.2019.14, then sims_weekly_tag will be sims_w_2019_14.
The `shebangtron` command is there to correct the paths to installed binaries of Data Management software packages. Every time you install new binary packages, you will need to run the `shebangtron` command.
Any of the individual packages and all their dependencies can be installed by replacing lsst_sims with the appropriate package name in the above code snippet (e.g. sims_maf). Installation is now complete. See package specific pages for documentation.
setup sims_maf -t sims_weekly_tag
When you setup a package, eups inspects it and determines what other packages it depends on. Eups will also setup those prerequisite packages, preferring versions tagged with the tag you specified and defaulting to versions with the tag 'current'. If you do not want to default to 'current', you can specify more than one tag.
setup sims_maf -t $USER -t sims_weekly_tag
will setup sims_maf and all of its dependencies, and then using versions matching the tags (resolved from left to right). This system of eups tags allows you to have multiple versions of the stack built on your system simultaneously. You will only ever be using the one that eups has setup. To see which versions of a package exist on your system (and which has been setup) use
- If you have issues with installation, first check that your system meets the minimum requirements listed here: https://pipelines.lsst.io/install/newinstall.html#prerequisites. Note that you need cmake – if installation of 'mariadb' fails, you probably do not have cmake installed ('conda install cmake' is an easy way to get it).
- Check for other known issues here: https://pipelines.lsst.io/known-issues.html#installation-issues
- You can also search for similar problems on https://community.lsst.org/
- If you are having issues specifically with pyephem or healpy on a Mac, check for the existence of a /Developer directory. This directory is obsolete after upgrading to newer versions of XCode, but not removed by the XCode installer. Rename the /Developer directory and pyephem will install.
- If you are using your own python, be sure to check the Using Your Own Python page. In particular, on Linux, some lsst_apps packages will currently fail to build if the "nomkl" package is not installed in anaconda.
- On a Mac, make sure you have accepted the terms on XCode. You can do this by opening the Xcode.app (should be in your Applications folder).
- git can fail, complaining about not having an https helper. If your native git version is > 1.7, you can probably use that rather than the LSST installed git.
- If all else fails, it's usually an issue with some environment variables interfering with the installation. You can create a new user and install the stack there. You can quickly login/out of a new user account as follows: First make a new admin-level user in System Preferences->Users and Groups, and then click on your name in the top right hand corner of the screen. A drop-down menu should appear, offering you a choice of other users to log in as. You might have to toggle the check box in System Preferences->Users and Groups->Login Options first though.
These installation instructions are very similar to those on the https://pipelines.lsst.io/install/conda.html page, but note that we point to a different conda channel.
1a) If you didn't just install anaconda or miniconda, or even if you did:
conda update conda
2) Add the LSST simulations software channel (note that this is DIFFERENT than the standard 'DM stack' channel! This is because of versioning issues between DM and Sims and is related to simulations having a more frequent release schedule. You can also get an older version of sims from the 'stack' channel).
Current version of simulations from the sims conda channel is: sims_2.2.6, built against DM lsst_apps v12.0. The version of sims available on the stack channel is v12.0 (equivalent to sims_2.2.5), built against DM lsst_apps v12.0.
conda config --add channels http://conda.lsst.codes/sims
Note: if you have installed sims conda binaries in the past, you may have an 'eupsforge.net' channel in your ~/.condarc file. This channel no longer exists and should be removed from your ~/.condarc file.
3) Install the desired sims and apps packages
conda install lsst-apps conda install lsst-sims
or just a single package .. (e.g. for just MAF)
conda install lsst-sims-maf
Then, every time you open a new shell, you can setup the sims packages using the following code. Note that the file `eups-setups.sh` is in `$ROOT/bin` where `$ROOT` is the conda environment that you installed into or if you did not specifically setup an environment (following the above method) it points to the conda installation. However, the location of the file does not matter, as the `ROOT/bin` directory should be in your path if you are using conda, and then you can launch the following commands from any working directory.
source eups-setups.sh setup lsst_sims (or setup sims_maf)
to later update use
Mixing Installed Stack with Development Repositories