LSC Software Installation HOWTO
Are these instructions for you?
Are you using a Fedora, Red Hat, or Debian Linux 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.
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 VARIABLEyou 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://www.lsc-group.phys.uwm.edu/daswg/download/software/sourcesetup directories
mkdir -p $LSCSOFT_PREFIX mkdir -p $LSCSOFT_TMPDIRget required fftw3, frame, gsl, and metaio you can use lynx -dump or wget -O- instead of curl
curl $LSCSOFT_SRCURL/pkgconfig-0.15.0.tar.gz > $LSCSOFT_TMPDIR/pkgconfig-0.15.0.tar.gz curl $LSCSOFT_SRCURL/fftw-3.0.1.tar.gz > $LSCSOFT_TMPDIR/fftw-3.0.1.tar.gz curl $LSCSOFT_SRCURL/gsl-1.9.tar.gz > $LSCSOFT_TMPDIR/gsl-1.9.tar.gz curl $LSCSOFT_SRCURL/libframe-6.20.tar.gz > $LSCSOFT_TMPDIR/libframe-6.20.tar.gz curl $LSCSOFT_SRCURL/libmetaio-6.1.tar.gz > $LSCSOFT_TMPDIR/libmetaio-6.1.tar.gz curl $LSCSOFT_SRCURL/glue-1.10.tar.gz > $LSCSOFT_TMPDIR/glue-1.10.tar.gz curl $LSCSOFT_SRCURL/lscsoft-user-env-1.9.tar.gz > $LSCSOFT_TMPDIR/lscsoft-user-env-1.9.tar.gzunpack these archives in LSCSOFT_PREFIX/src
cd $LSCSOFT_TMPDIR tar -zxvf $LSCSOFT_TMPDIR/pkgconfig-0.15.0.tar.gz tar -zxvf $LSCSOFT_TMPDIR/fftw-3.0.1.tar.gz tar -zxvf $LSCSOFT_TMPDIR/gsl-1.9.tar.gz tar -zxvf $LSCSOFT_TMPDIR/libframe-6.20.tar.gz tar -zxvf $LSCSOFT_TMPDIR/libmetaio-6.1.tar.gz tar -zxvf $LSCSOFT_TMPDIR/glue-1.10.tar.gz tar -zxvf $LSCSOFT_TMPDIR/lscsoft-user-env-1.9.tar.gzbuild and install pkg-config
cd $LSCSOFT_TMPDIR/pkgconfig-0.15.0 ./configure --prefix=$LSCSOFT_PREFIX/non-lsc make make installbuild and install fftw3
cd $LSCSOFT_TMPDIR/fftw-3.0.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 failbuild and install gsl
cd $LSCSOFT_TMPDIR/gsl-1.9 ./configure --prefix=$LSCSOFT_PREFIX/non-lsc make make installbuild and install libframe
cd $LSCSOFT_TMPDIR/libframe-6.20 ./configure --prefix=$LSCSOFT_PREFIX/libframe --disable-octave --disable-python make make installbuild and install libmetaio
cd $LSCSOFT_TMPDIR/libmetaio-6.1 ./configure --prefix=$LSCSOFT_PREFIX/libmetaio make make installbuild and install Glue
cd $LSCSOFT_TMPDIR/glue-1.10 python setup.py install --prefix=$LSCSOFT_PREFIX/gluebuild and install the user environment scripts
cd $LSCSOFT_TMPDIR/lscsoft-user-env-1.9 ./configure --prefix=$LSCSOFT_PREFIX make make installTo 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