Commit 23f0ec74 authored by Patrick Godwin's avatar Patrick Godwin
Browse files

installation.rst: expand on source installation

parent bdc0d598
Pipeline #211331 failed with stages
in 113 minutes and 56 seconds
......@@ -72,31 +72,62 @@ GstLAL is also available on the IGWN Conda Distrubution in a variety of pre-pack
Building from source
^^^^^^^^^^^^^^^^^^^^^
You can get a development copy of the gstlal software suite from git.
Building from source is required for development (bug fixes, new features, documentation improvements). You can check out the latest source of GstLAL from git:
* https://git.ligo.org/lscsoft/gstlal
.. code:: bash
$ git clone https://git.ligo.org/lscsoft/gstlal.git
$ cd gstlal
Source tarballs for GstLAL packages and all the LIGO/Virgo software dependencies are available here: http://software.igwn.org/lscsoft/source/
Building and installing from source follows the normal GNU build procedures
involving:
Building and installing from source follows the normal GNU build procedures involving:
1. ./00init.sh
2. ./configure
3. make
4. make install.
You should build the packages in order of gstlal, gstlal-ugly,
gstlal-calibration, gstlal-inspiral. If you are building to a non FHS place
(e.g., your home directory) you will need to ensure some environment variables
are set so that your installation will function. The following five variables
must be set. As **just an example**::
GI_TYPELIB_PATH="/path/to/your/installation/lib/girepository-1.0:${GI_TYPELIB_PATH}"
GST_PLUGIN_PATH="/path/to/your/installation/lib/gstreamer-0.10:${GST_PLUGIN_PATH}"
PATH="/path/to/your/installation/bin:${PATH}"
# Debian systems need lib, RH systems need lib64, including both doesn't hurt
PKG_CONFIG_PATH="/path/to/your/installation/lib/pkgconfig:/path/to/your/installation/lib64/pkgconfig:${PKG_CONFIG_PATH}"
# Debian systems need lib, RH systems need lib and lib64
PYTHONPATH="/path/to/your/installation/lib64/python2.7/site-packages:/path/to/your/installation/lib/python2.7/site-packages:$PYTHONPATH"
4. make install
Since GstLAL is a collection of packages, there is a required build order to install the packages:
1. gstlal
2. gstlal-ugly
3. gstlal-burst / gstlal-calibration / gstlal-inspiral (any order)
If you are building from source, you will also need to install all dependencies before building GstLAL, including:
* fftw
* gsl
* gstreamer
* lalsuite
* ldas-tools-framecpp
* numpy
* pygobject
* python-ligo-lw
* scipy
These dependencies can be installed in various ways, including conda, your favorite package manager (apt/yum), or from source. We also provide containers that are suitable for development.
Singularity container
""""""""""""""""""""""
A development container is provided with all necessary dependencies to install GstLAL from source. Singularity also has extra features that make it possible to create writable containers, making it easy to get started with development:
.. code:: bash
$ singularity build --sandbox --fix-perms gstlal-dev docker://containers.ligo.org/lscsoft/gstlal:master
This will pull a container from the container registry from the main branch and builds it in 'sandbox' mode into ``/gstlal-dev``, which allows one to invoke it in writable mode once it's built, and is needed to install software into the container. This may take a few minutes to set up compared to a normal pull.
Once that's finished, you can enter the container in writable mode to install GstLAL from source:
.. code:: bash
$ singularity run --writable gstlal-dev
$ git clone https://git.ligo.org/lscsoft/gstlal.git
$ cd gstlal
Now you can follow the normal GNU build procedures to build and install GstLAL. It is also recommended to install GstLAL into the container's ``/usr`` directory, done at the configure step, e.g.
.. code:: bash
$ ./configure --prefix /usr
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment