1 Install EPICS
mkdir /tmp/epics
cd /tmp/epics
wget
http://www.aps.anl.gov/epics/download/base/baseR3.14.8.2.tar.gz
tar xvzpf baseR3.14.8.2.tar.gz
cd base-3.14.8.2
export EPICS_HOST_ARCH=linux-x86
make
2 install XERCES
Downloading and building instructions at:
http://xerces.apache.org/xerces-c/build-winunix.html#UNIX
In the main XERCES directory execute to compile:
cd src/xercesc/;
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread
3 install xview
Downloading and read building instructions inside the package at:
http://www.nottingham.ac.uk/radiology/paul/software/xview_for_cygwin.html
ignore error message as long as it installs include, lib and bin directories; edit CONFIG file to add xview/include installation directory,
need to change Build script for that. E.g, one can install XView by a xview.script:
#! /usr/local/bin/tcsh -f
date > make.output
bash Build-XView.bash libs instlibs clients instclients >>& make.output
date >> make.output
ls install
4 install DOOCS
4.1 set the environment
export DOOCSROOT=/unix/lc/bartsch/doocs_nw
export DOOCSARCH=Linux
export ROOTSYS=/unix/lc/products/ilc_installation/root/root/
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
export XVIEW=/unix/lc/products/xview/xview-3.2p1.4-19c/install/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XVIEW/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/unix/lc/bartsch/doocs/Linux/lib
export PATH=$ROOTSYS/bin:$PATH:$DOOCS_ROOT/Linux/lib
export CVSROOT=:pserver:doocs@doocs.desy.de:/doocs
cd $DOOCS_ROOT/..
mkdir doocs
cd doocs
cvs checkout Linux
compile the clientlib
cvs co source/clientlib
cd $DOOCS_ROOT/source/clientlib
make
cp $DOOCS_ROOT/Linux/obj/clientlib/libDOOCSapi.so.5.5.20 $DOOCS_ROOT/Linux/lib
cp ../clientlib/pktrclntlib/*.h $DOOCS_ROOT/Linux/lib/include/
cp ../clientlib/*.h $DOOCS_ROOT/Linux/lib/include/
cp $DOOCS_ROOT/Linux/obj/clientlib/libDOOCSapi.so.5.5.20 $DOOCS_ROOT/Linux/lib
cd $DOOCS_ROOT/Linux/lib
ln -s libDOOCSapi.so.5.5.20 libDOOCSapi.so
compile the serverlib
cvs co source/serverlib
cd $DOOCS_ROOT/source/serverlib
make
cp $DOOCS_ROOT/Linux/obj/serverlib/libEqServer.so.4.9.15 $DOOCS_ROOT/Linux/lib
ln -s $DOOCS_ROOT/Linux/lib/libEqServer.so.4.9.15 $DOOCS_ROOT/Linux/lib/libEqServer.so
cp *.h $DOOCS_ROOT/Linux/lib/include/
4.2 cvs checkout all packages needed
cd $DOOCS_ROOT
cvs checkout source/fsmlib
cvs checkout source/senderlib
cvs checkout source/daq
cvs checkout source/devguide_libs/
cvs co source/example/server/singenerator
cvs co source/clients/ttf/rpc_test/
4.3 compile all packages by hands after checking out
set the EPICS environment in $DOOCSARCH/CONFIG
# EPICSINC = EPICS_path/base-3.14.8.2/include/
# EPICSLIB = EPICS_path/base-3.14.8.2/lib/linux-x86/libca.so EPICS_path/base-3.14.8.2/lib/linux-x86/libCom.so
# XERCES = XERCES_path/include/
# change in source/daq/slcollector
# magnet_err_rpc_server.cc and slcollector_rpc_server.cc to either
# static time_t walltime;
# or
# extern time_t walltime;
cd ../fsmlib
make localinstall
cd ../example/server/singenerator/
make -f Makefile.singenerator
cd ../../../daq/fsm
make localinstall
cd ../../daq/bm
make localinstall
cd ../../daq/XML_tools
make localinstall
cd ../../daq/evb/TTFClasses
make localinstall
cd ../../../daq/RfReader
make localinstall
cd ../../senderlib
make localinstall
cd ../daq/evb/RingBuffer
make localinstall
cd ../../../daq/evb/DataLink
make localinstall
cd $DOOCS_ROOT/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguidexv
make -f makefile.linux
cd $DOOCS_ROOT/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguidexv
*
Important: set OPENWINHOME directory in Makefile or set it anywhere else)
make -f makefile.linux
edit dddlib Makefile
# CPPFLAGS += -I$(DOOCSROOT)/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguidexv/
# CPPFLAGS += -I$(DOOCSROOT)/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguide
# LDFLAGS += -L$(DOOCSROOT)/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguidexv/
# LDFLAGS += -L$(DOOCSROOT)/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguidexv/
# LDFLAGS += -L$(DOOCSROOT)/source/devguide_libs/devguide-libs-3.0.1.1/share/src/libguide/
# OPENWINHOME=/unix/lc/products/xview/xview-3.2p1.4/build
# LDFLAGS += -L$(OPENWINHOME)/../lib/libxview/
# LDFLAGS += -L$(OPENWINHOME)/../lib/libolgx/
# LDFLAGS += -L/usr/X11R6/lib/
make all
cvs co source/utillib
cd source/utillib/
make
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DOOCS_ROOT/Linux/lib
cvs co source/clients/ttf/doocstools/
cd source/clients/ttf/doocstools/
make
cd source/clients/ttf/rpc_test/
change files according to attached files
make all
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/unix/lc/products/xerces/xerces-c-src_2_8_0/lib/
Install some more daq packages
cvs co source/daq/distributor
cvs co source/daq/evb
# before making both packages comment out the following line from the Makefile:
#$(CCDEP) -r -I../bm > $(OBJDIR)/.depend_temp
# there are one or two changes of changing abs to fabs in the *.cc if there are error during compilation
# for the distributor: distributor_rpc_server.cc needs to have "#include <sys/fcntl.h>" included otherwise
# it does not compile in my environment
cd source/daq/distributor
make install
cd -
cd source/daq/evb
cd ../RootFile
make
make localinstall
cd ../RingBuffer/
make
make localinstall
cd ../DataLink/
make
make localinstall
cd ../TTFClasses/
make
make localinstall
cd ../ROOTmodule/
make
make localinstall
cd ..
make
make localinstall
make install
4.4 An example file of setting environment variables
This is an example file of setting environment variables to install DOOCS:
doocs.cshrc
by tcsh syntax.