Search/Navigation:
Related:
SLAC/EPP/HPS Public
Jefferson Lab/Hall B/HPS Run Wiki
S30XL-LESA/LDMX
These notes are from an installation by Pelle and Hovanes on hpstracker machine in group C at SLAC.
The installation is to run the hvCaenApp. There are many dependencies since it contains support to control different types of hardware.
Started on hpstracker with this
$ rpm -qa
net-snmp-libs-5.3.2.2-20.el5
net-snmp-libs-5.3.2.2-20.el5
Install needed net-snmp devel libraries.
Copy epics layer snmp-nscl-1.0.RC6.tgz from jlab machine to /u1/packages
Install net-snmp SNMP layer manually, not found by yum, in /u1/packages/net-snmp
Problem building /u1/packages/support/snmp-nscl-1.0.RC6.
Had to manually include the net-snmp files in snmpApp/src/Makefile by changing
USR_CFLAGS += `net-snmp-config --cflags`
to
USR_INCLUDES += -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -I. -I/u1/packages/net-snmp/builds/net-snmp-5.7.2.1/include
Note that this means that the other cflags are are not given to the compiler but it seems to work. Not clear why this workaround was needed.
In order to compile the needed libraries we needed to add re2c. Get it from the epel repo rpm copied from Hovanes:
epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install re2c
Now install the support libraries in /u1/packages/support/.
Install these in order, updating the configure/RELEASE information to my installation for each one:
drwxrwxr-x 10 tracker 55 4096 Aug 13 07:42 ipac-2.11/
drwxr-xr-x 12 tracker root 4096 Aug 13 07:50 seq-2.1.12/
drwxrwsr-x 24 tracker 204 4096 Aug 13 07:55 asyn4-21/
drwxrwxr-x 8 tracker 104 4096 Aug 13 07:58 busy-1-6/
drwxrwxr-x 8 tracker 104 4096 Aug 13 08:00 sscan-2-9/
drwxrwxr-x 10 tracker 104 4096 Aug 13 08:03 std-3-2/
drwxrwxr-x 10 tracker 104 4096 Aug 13 08:04 autosave-5-1/
drwxrwxr-x 9 tracker 104 4096 Aug 13 08:06 calc-3-2/
There are two device drivers that needs to be installed. Copy this two App drivers from jlab.
LVMPODApp.tgz
HVCAENx527App.tgz
Install these in: /home/tracker/pelle/epics/drivers
Add to drivers/configure/RELEASE
IPAC=$(EPICS_SUPPORT)/ipac-2.11
SEQ=$(EPICS_SUPPORT)/seq-2.1.12
ASYN=$(EPICS_SUPPORT)/asyn4-21
BUSY=$(EPICS_SUPPORT)/busy-1-6
SSCAN=$(EPICS_SUPPORT)/sscan-2-9
STD=$(EPICS_SUPPORT)/std-3-2
AUTOSAVE=$(EPICS_SUPPORT)/autosave-5-1
CALC=$(EPICS_SUPPORT)/calc-3-2
Untar and compile LVMPODApp.tgz
Untar HVCAENx527App.tgz
To install HVCAENx527App.tgz we need to add support for caen. Copy binaries caen.tgz from Hovanes to /u1/packages/caen.
Go into the drivers/HVCAENx527App/src/ and update Makefile with:
hscaenet_DIR += /u1/packages/caen/sy1527/lib/linux-x86_64
caenhvwrapper_DIR += /u1/packages/caen/sy1527/lib/linux-x86_64
Compile HVCAENx527App
Now copy the hvCaenApp to did in parallel to my App: /home/tracker/pelle/epics/example/hvCaenApp
Update the pelle/epics/example/configure/RELEASE file in my example by adding:
EPICS_SUPPORT=/u1/packages/support
DEVSNMP=$(EPICS_SUPPORT)/snmp-nscl-1.0.RC6
IPAC=$(EPICS_SUPPORT)/ipac-2.11
SEQ=$(EPICS_SUPPORT)/seq-2.1.12
ASYN=$(EPICS_SUPPORT)/asyn4-21
BUSY=$(EPICS_SUPPORT)/busy-1-6
SSCAN=$(EPICS_SUPPORT)/sscan-2-9
STD=$(EPICS_SUPPORT)/std-3-2
AUTOSAVE=$(EPICS_SUPPORT)/autosave-5-1
CALC=$(EPICS_SUPPORT)/calc-3-2
EPICS_DRIVERS=/home/tracker/pelle/epics/drivers
do make clean; make in pelle/epics/example
Then go into hvCaenApp/src/Makefile and change:
#USR_INCLUDES += -I/apps/Trolltech/Qt/include/
to
USR_INCLUDES += -I$(QTDIR)/include
#hscaenet_DIR += $(CLAS)/clon/src/caen/CAENHVControlSoftware-1.1.2/lib
#caenhvwrapper_DIR += $(CLAS)/clon/src/caen/CAENHVControlSoftware-1.1.2/lib
#QtSql_DIR += /apps/Trolltech/Qt/lib/
to
hscaenet_DIR += /u1/packages/caen/sy1527/lib/linux-x86_64
caenhvwrapper_DIR += /u1/packages/caen/sy1527/lib/linux-x86_64
QtSql_DIR += $(QTDIR)/lib
Note, need QT 4.7, failed on QtSql for default QT-3.3
Need to set new env variable to compile:
setenv EPICSB_DRIVERS /home/tracker/pelle/epics/drivers
Compile hvCaenApp
Got compiler error and had to change casting issue on this compiler in src/DetChannelsWaveform.cc.
That fixed it.
Create the configure file using a dummy example (there is a way to do this without creating a complete example but this works):
makeBaseApp.pl -b $EPICS_BASE -t example
Edit configure/RELEASE by adding:
EPICS_SUPPORT=/u1/packages/support
DEVSNMP=$(EPICS_SUPPORT)/snmp-nscl-1.0.RC6
Then compile: make clean; make
Make a new IOC directory for the hvCaen App from /home/tracker/pelle/epics/example/
makeBaseApp.pl -b $EPICS_BASE -t ioc -i (name: iochvCaen)
cd iocBoot/iochvCaen/
copy svt-voltage.cmd there and run it.
For now it fails because MPOD defined in the sqlite db file is not connected.
After loading svt-voltage.cmf should have MPOD variables:
B1-1-TOP:X
Label explanation:
B1-1-TOP:912 -> slot 9 channel 12 in MPOD
B1-1-TOP is the label for the crate.
There is also channels labeled according to hps for FEB and HV power which is what is used for control in GUIs and what not.