Building LIGO softwares for 64 bit linux
EPICS
Well this is not a LIGO software, but it is essential for a control room computer.
EPICS Base
Download the EPICS base package from http://www.aps.anl.gov/epics/base/index.php
Unpack it. Set/unset environmental variables.
setenv EPICS_HOST_ARCH linux-x86_64 unsetenv SCRIPTS
Compile
make
Install
cd .. cp -r base-3.14.0 /cvs/cds/caltech/apps/linux64/epics/base
Extensions
Download the archive containing the extensions directory structure. http://www.aps.anl.gov/epics/download/extensions/extensionsTop_20070703.tar.gz
Unpack it to /cvs/cds/caltech/apps/linux64/epics/
Download necessary extensions (medm, ezca, etc).
Unpack it into /cvs/cds/caltech/apps/linux64/epics/extensions/src/
Move to the extracted directory and type make to compile the extension.
Dataviewer
Check out source code from the CDS CVS repository (you need an account).
setenv CVSROOT :pserver:username@ldas-sw.ligo.caltech.edu:/ldcg_server/common/repository_cds cvs login cvs checkout cds/project/daq/dv cd dv
Compile
make
Copy the following files to /cvs/cds/caltech/apps/linux64/dataviewer/
Control/dc3 Display/framer4 Display/frameMemRead
Create /cvs/cds/caltech/apps/linux64/dataviewer/dataviewer with the following contents.
mkdir /tmp/$$DC
DVPATH=/cvs/cds/caltech/apps/linux64/dataviewer
export DVPATH
PATH=${PATH}:${DVPATH}:/cvs/cds/caltech/apps/linux64/grace/bin
export PATH
$DVPATH/dc3 -s fb40m -a $$ -b $DVPATH $*
/bin/rm -f -r /tmp/$$DC
GDS software
Here is what I tried to get the build the GDS software. The compilation completes but dtt does not run.
First you have to install ROOT.
Installing ROOT
Download ROOT-5.20 from http://root.cern.ch/root/Version520.html
Expand the archive and run the configure script.
./configure linuxx8664gcc --prefix=/cvs/cds/caltech/apps/linux64/root
Build & install.
make make install
Building GDS
Check out the GDS CVS tree.
setenv CVSROOT :pserver:readonly@ldas-sw.ligo.caltech.edu:/ldcg_server/common/repository_gds cvs login m0n1t0r cvs checkout gds cd gds
Set environmental variables.
setenv GDSBUILD online setenv ROOTSYS /cvs/cds/caltech/apps/linux64/root
Prepare the building environment.
./bootstrap ./configure --enable-dtt --enable-online --prefix=/cvs/cds/caltech/apps/linux64/gds
I had to tweak some Makefiles. First, I edited Monitors/Makefile and emptied SUBDIRS so that no monitor will be built. If you want to compile DMT monitors, you should not do this.
Next, I edited DTT/src/Makefile to add $(epicslib) at the end of the definition of LDADD.
The next step is to create libepics-linux.a (in DTT/lib) for 64bit linux. It turned out that this is just an archive file of object files from libca.a, libCom.a and libezca.a (all from epics). I took the following steps to create it.
mkdir libepics cd libepics ar x /cvs/cds/caltech/apps/linux64/epics/base/lib/linux-x86_64/libca.a ar x /cvs/cds/caltech/apps/linux64/epics/base/lib/linux-x86_64/libCom.a ar x /cvs/cds/caltech/apps/linux64/epics/extensions/lib/linux-x86_64/libezca.a ar rcs libepics-linux.a *
Copy libepics-linux.a to DTT/lib overwriting the existing file.
Build and install
make make install
Setup environmental variables for execution.
setenv ROOTSYS /cvs/cds/caltech/apps/linux64/root
setenv LD_LIBRARY_PATH ${ROOTSYS}/lib/root:/cvs/cds/caltech/apps/linux64/gds/lib:${LD_LIBRARY_PATH}
setenv PATH /cvs/cds/caltech/apps/linux64/gds/bin:/cvs/cds/caltech/apps/linux64/gds/startup:${PATH}