= 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. {{{ #!/bin/sh 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} }}}