Search


DASWG LAL Doxygen

Docs

How-To's
Technical
Software Docs
Minutes

Download

Browse CVS, Git, or SVN
Software Repositories
OS Security Updates
LIGO software virtual machine
VMware SL6 Install

Participate

SCCB - Software Change Control Board
Edit these pages
Sub-committees
Mailing List
Telecon

Projects

DMT
DQSEGDB
Glue
GraceDB
gstlal
LALSuite
LDAS Tools
LDG Client/Server
LDR
ligoDV
LIGOtools
LVAlert Administration
LVAlert
MatApps
Metaio
NDS Client
PyLAL
LSCSOFT VM

Legacy Projects

geopp
LDAS
LDM
LIGOtools
LSCGIS
Onasys
OSG-LIGO

LSC Software Installation HOWTO

Are these instructions for you?

Are you using a Fedora, Red Hat, Debian or Mac OS X system? Do you have root password or can you get the ear of your sysadmin? If yes (to both) then you do not need to build the LSC software tools yourself: you can download and install the binary versions! Just follow the instructions at Download > Repositories to install the required software for LSC data analysis.

However, if you are using some other system, or if you need to install the software in your home directory, then you can build the software from source. These are the instructions for you.

Please note that these instructions are out of date and may lead to strange build issues.

Introduction

This document provides step-by-step instructions for installing standard LSC software required for various LSC data analysis libraries and tools.

This documentation has been auto-extracted from a shell script that can be run. The shell script will perform the exact instructions listed in the documentation, with a few switches controlled by command line arguments. use the --help command line argument to view these switches. You should not need to edit the shell script for it to work.

Instead of running the script, you can, if you like, follow these instructions. In general, you can cut-and-paste the directions directly into a shell. There are a few modifications you may need to make, however.

If you are using a C-shell [tcsh] rather than a Bourne shell [bash], the syntax for setting shell variables is slightly different. Instead of

VARIABLE=value
export VARIABLE
you will need to type
setenv VARIABLE value
(even when there is no export VARIABLE instruction).

Some of the instructions involve downloading software from a URL. These instructions use the command curl to do this. If you don't have curl, you can simply replace it with wget -O- or lynx -source in these instructions (provided you have wget or lynx). You can do this easily by using an alias. If you are using bash, do:

alias curl="wget -O-"
while if you are using tcsh, do:
alias curl "wget -O-"

Build from .tar distribuion

These instructions are supposed to be 'failsafe' ... i.e., they are supposed to work regardless of your operating system, user privilages, etc.

The software is installed in the directory LSCSOFT_LOCATION. If this variable is not set, it will be installed in $HOME/opt/lscsoft by default. To install in some other location, set LSCSOFT_LOCATION to that location.

The build will take place in the directory LSCSOFT_TMPDIR. If this variable is not set, the directory /tmp/lscsoft-install will be used. You must have write access to this directory. Warning: any contents in this directory will be desroyed.

The commands listed below are appropriate for a Bourne-shell (e.g., bash); they will need to be modified appropriately for C-shells (e.g., tcsh).

LSCSOFT_PREFIX=${LSCSOFT_LOCATION:-"$HOME/opt/lscsoft"}
LSCSOFT_TMPDIR=${LSCSOFT_TMPDIR:-"/tmp/lscsoft-install"} # warning: contents will be destroyed
This is where to get sources:
LSCSOFT_SRCURL=http://software.ligo.org/lscsoft/source
setup directories
mkdir -p $LSCSOFT_PREFIX 
mkdir -p $LSCSOFT_TMPDIR 
get required fftw3, frame, gsl, and metaio you can use lynx -dump or wget -O- instead of curl
curl $LSCSOFT_SRCURL/pkg-config-0.23.tar.gz > $LSCSOFT_TMPDIR/pkg-config-0.23.tar.gz 
curl $LSCSOFT_SRCURL/fftw-3.2.1.tar.gz > $LSCSOFT_TMPDIR/fftw-3.2.1.tar.gz 
curl $LSCSOFT_SRCURL/gsl-1.12.tar.gz > $LSCSOFT_TMPDIR/gsl-1.12.tar.gz 
curl $LSCSOFT_SRCURL/libframe-8.04-2.tar.gz > $LSCSOFT_TMPDIR/libframe-8.04-2.tar.gz 
curl $LSCSOFT_SRCURL/metaio-8.2.tar.gz > $LSCSOFT_TMPDIR/metaio-8.2.tar.gz 
curl $LSCSOFT_SRCURL/glue-1.18.tar.gz > $LSCSOFT_TMPDIR/glue-1.18.tar.gz 
curl $LSCSOFT_SRCURL/lscsoft-user-env-1.13.tar.gz > $LSCSOFT_TMPDIR/lscsoft-user-env-1.13.tar.gz 
unpack these archives in LSCSOFT_PREFIX/src
cd $LSCSOFT_TMPDIR 
tar -zxvf $LSCSOFT_TMPDIR/pkg-config-0.23.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/fftw-3.2.1.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/gsl-1.12.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/libframe-8.04-2.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/metaio-8.2.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/glue-1.18.tar.gz 
tar -zxvf $LSCSOFT_TMPDIR/lscsoft-user-env-1.13.tar.gz 
build and install pkg-config
cd $LSCSOFT_TMPDIR/pkg-config-0.23 
./configure --prefix=$LSCSOFT_PREFIX/non-lsc 
make 
make install 
build and install fftw3
cd $LSCSOFT_TMPDIR/fftw-3.2.1 
./configure --prefix=$LSCSOFT_PREFIX/non-lsc --enable-shared --enable-float --disable-fortran 
make  # note: ignore fail... the build fails on MacOSX, but not seriously
make install # note: ignore fail
make distclean 
./configure --prefix=$LSCSOFT_PREFIX/non-lsc --enable-shared --disable-fortran 
make # note: ignore fail
make install # note: ignore fail
build and install gsl
cd $LSCSOFT_TMPDIR/gsl-1.12 
./configure --prefix=$LSCSOFT_PREFIX/non-lsc 
make 
make install 
build and install libframe
cd $LSCSOFT_TMPDIR/libframe-8.04 
./configure --prefix=$LSCSOFT_PREFIX/libframe --disable-octave --disable-python --with-matlab=no 
make 
make install 
build and install libmetaio
cd $LSCSOFT_TMPDIR/metaio-8.2 
./configure --prefix=$LSCSOFT_PREFIX/libmetaio 
make 
make install 
build and install Glue
cd $LSCSOFT_TMPDIR/glue-1.18 
python setup.py install --prefix=$LSCSOFT_PREFIX/glue 
build and install the user environment scripts
cd $LSCSOFT_TMPDIR/lscsoft-user-env-1.13 
./configure --prefix=$LSCSOFT_PREFIX 
make 
make install 
To setup your environment to use the software that has been installed please add the following to your .profile if you use a bourne shell (e.g. bash):
LSCSOFT_LOCATION=${HOME}/opt/lscsoft # change this as appropriate
export LSCSOFT_LOCATION
if [ -f ${LSCSOFT_LOCATION}/lscsoft-user-env.sh ] ; then
  . ${LSCSOFT_LOCATION}/lscsoft-user-env.sh
fi
If you are using a C shell (e.g., tcsh), instead add these lines to your .login:
setenv LSCSOFT_LOCATION ${HOME}/opt/lscsoft # change this as appropriate
if ( -r ${LSCSOFT_LOCATION}/lscsoft-user-env.csh ) then
	source ${LSCSOFT_LOCATION}/lscsoft-user-env.csh
endif
cleanup (optional)
rm -rf $LSCSOFT_TMPDIR
$Id: lscsoft-install-x.sh 4973 2015-06-20 02:28:19Z max.isi@LIGO.ORG $