LALSuite Installation Instructions

Installation instructions for LALSuite.

Overview

LALSuite is a collection of component packages, each of which is tagged, packaged, and released separately. See here for a list of those sub-packages.

The following instructions will outline how to install LAL, the core sub-package that is required for most/all of the others to run, but the installation instructions are the same for the others, so just replace lal with lal as appropriate.

Installing LALSuite

On all platforms, the LALSuite components are separated in to the following packages

Package name Contents Notes
lal-data Data files As of March 2022 this package only exists some components
liblal Compile shared-object (dynamically-linked) library On Debian the package name contains a numeral suffix indicating the major version number of the contained SO library, e.g. liblal7
liblal-dev Development files for building applications that link against liblal This package does not exist for Conda, all development files are included in the liblal package(s)
On RHEL this package is called liblal-devel
python-lal SWIG-compiled Python bindings library and extra python modules On Debian and RHEL the Python 3 package prefix is python3-, e.g. python3-lal
lal Executables and scripts  

Conda

All LALSuite components (and a LALSuite metapackage) are available as Conda packages on the conda-forge channel for the following platforms:

Conda platforms badge

To install LALSuite:

conda install --channel conda-forge lalsuite

Debian

All LALSuite components are available on Debian from the LSCDebian repositories supported by the Albert Einstein Institute (Germany). For instructions on how to configure your Apt client to see those packages, see here.

To install LALSuite components:

apt-get install lal

Pip

On PyPI the LALSuite library is bundle as a single package that contains all of the compiled libraries, SWIG bindings, python modules, and executables and scripts.

LALSuite is available from PyPI for Linux x86_64 and macOS x86_64 only.

To install LALSuite:

python -m pip install lalsuite

RHEL

All LALSuite components (and a lalsuite metapackage) are available on RHEL and derivaties from the LSCSoft repositories supported by IGWN CompSoft. For instructions on how to configure your Yum/DNF client to see those packages, see here.

To install LALSuite components:

yum install lalsuite

Building LALSuite from source

Dependencies

Build tools

The following build tools will be needed to build LALSuite components from source

  • a C compiler with support for the C99 standard
  • autoconf (building from git only)
  • automake (building from git only)
  • make
  • pkg-config

Library dependencies

For LAL the library dependencies are:

  • GSL - The GNU Scientific Library.
  • FFTW - The Fastest Fourier Transform in the West.
  • HDF5 - The HDF5 library
  • zLib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library

Other subpackages need at least (but not limited to):

  • !FrameL- LIGO/Virgo Frame library (needed for LALFrame)
  • !MetaIO - LIGO_LW XML library (LALMetaIO)
  • CFITSIO - A FITS File Subroutine Library (needed for LALPulsar)

All Dependencies can be installed using an appropriate Package manager, you should not need to compile any of these yourself.

The Python layers for each subpackage will have extra requirements that are not specified here.

Building the latest release by hand

You can identify the latest release by visiting http://software.ligo.org/lscsoft/source/lalsuite/ and identifying the most recent release tarball for your package. For example, as of April 18 2017, for lal that is

http://software.ligo.org/lscsoft/source/lalsuite/lal-6.18.0.tar.xz

You can then install this tarball manually as follows. First, set the following variables (for convenience), changing the values as appropriate:

LAL_VERSION="6.18.0"
LAL_INSTALL_PREFIX="${HOME}/opt/lalsuite"

Then you can download, compile, and install the package via:

builddir=`mktemp -d`
pushd $builddir
curl -LO "http://software.ligo.org/lscsoft/source/lalsuite/lal-${LAL_VERSION}.tar.xz"
tar -xf lal-${LAL_VERSION}.tar.xz
pushd lal-${LAL_VERSION}
./configure --prefix=${LAL_INSTALL_PREFIX}
make
make install
popd
rm -rf ${builddir}

Building from the git repository

The repository is hosted on the LIGO GitLab instance, please see the following computing guide page for details on accessing repositories hosted here. The LALSuite repository also utilizes git-lfs for the management of large file so please ensure that you have configured git-lfs on your system.

You can then clone the repository using:

git clone git@git.ligo.org:lscsoft/lalsuite.git

You can also clone using the https interface but the above SSH URL is recommended as this is more rebust:

git clone https://git.ligo.org/lscsoft/lalsuite.git

If you are cloning anonymously then you must use the https URL.

You can then install LAL as follows:

LAL_INSTALL_PREFIX="${HOME}/opt/lalsuite"  # change as appropriate
pushd lal
./00boot
./configure --prefix=${LAL_INSTALL_PREFIX}
make
make install

-- DuncanMacleod - 18 Apr 2017

Topic revision: r13 - 2022-03-21, duncan.macleod@ligo.org
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding LIGOWiki? Send feedback