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:
To install LALSuite:
conda install --channel conda-forge lalsuite
Debian
All LALSuite components are available on Debian from the IGWN Debian 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
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