Installing CODA
Installing CODA 2.5
Go to the ftp web page
ftp://ftp.jlab.org/pub/coda/2.5/
and save the files below into the CODA/2.5 subdirectory
I currently have the files
2.5 >ls -1
cdev_1.7.5.tar.gz
tar - CMLOG-R2_1-PROD-1.tar.gz
coda.setup codausersetup common.tar Linux-rhe.tar README.InstallFAQ README.x86-linux VXWORKSPPC55.tar x86-linux.tar
Unpack the tar files
tar -zxvf cdev_1.7.5.tar.gz tar -zxvf CMLOG-R2_1-PROD-1.tar.gz tar -xvf Linux-rhe.tar tar -xvf VXWORKSPPC55.tar xvf x86-linux.tar xvf common.tar
remove the tar archives
rm *.gz rm *.tar
Here is what my directory structure looks like now
2.5 >ls -1 cdev_1.7.5 CMLOG-R2_1-PROD-1 coda.setup codausersetup common Linux README.InstallFAQ README.x86-linux tmp VXWORKSPPC55 x86-linux
Setup the environment variables
Set environmental variables in file codauserscript
#!/bin/csh echo Setting up coda 2.5 on $HOST setenv CODA /usr/local/coda/2.5 source $CODA/coda.setup # Point to msqld on my host setenv MSQL_TCP_HOST daq1 setenv MSQL_HOME $CODA/common/rcdb # My database/session setenv EXPID LDS setenv SESSION test # CMLOG browser (cmlog) setup file setenv CMLOG_CONFIG /usr/local/CMLOG/cmlogrc # broadcast message port must match that in /usr/local/CMLOG/cmlog.config setenv CMLOG_PORT 8102 # User specific env variables setenv CODA_DIRECTORY /home/daq/CODA setenv CODA_DATA /data1 cd ~/CODA
X windows needs
CODA 2.5 requires libXm.so.3
Using CentOS 5 you need to install openmotif to get libXm.o.3
yum install opentmotif22-2.2.3-18-i386
Stopped installation here
Installing CODA 2.6
Instructions to start up CODA
It appears you only need two processes now to run CODA, "platform" and "rcgui". It is probably still wise to have a terminal open monitoring the ROC
To run coda2.6 platform:
- source /home/daq/CODA/2.6/setup
- cd $AFECS_HOME/bin
- platform
To run coda2.6 run-control
- source /home/daq/CODA/2.6/setup
- cd $AFECS_HOME/bin
- rcgui -name g1
Following packages are installed: Java location: /home/daq/Java/jdk1.6.0_17
Afecs-1.3 location: /home/daq/CODA/2.6.1/Afecs-1.3
Following files were modified: ~/.tcshrc /home/daq/CODA/2.6/setup /home/daq/CODA/2.6.1/Afecs-1.3/db/setup.xml
ftp://ftp.jlab.org/pub/coda/2.6/
and save the files below into the CODA/2.6 subdirectory
I currently have the files
Errors setting up rcplatform
set environment variables
setenv COOL_HOME /usr/local/coda/2.6/cool
setenv AFECS_HOME /usr/local/coda/2.6/afecs/1.0
got the error message 2.6 >rcplatform /usr/java/j2sdk1.4.2_14/bin/java: Command not found.
setenv JAVA_HOME /usr
got the error
2.6 >rcplatform Exception in thread "main" java.lang.NoClassDefFoundError: rca.coda at gnu.java.lang.MainThread.run(libgcj.so.7rh) Caused by: java.lang.ClassNotFoundException: rca.coda not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(libgcj.so.7rh) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Vardan recommended running "ant" from the subdirectory
/usr/local/coda/2.6/afecs/1.0/
I had to install "ant" for this so I logged in as root and typed
yum install ant
I now have
1.0 >ant -version Apache Ant version 1.6.5 compiled on January 6 2007
The error message running ant is
1.0 >ant Buildfile: build.xml init: clean.module.afecs: clean: compile.module.afecs.production: [mkdir] Created dir: /home/daq/CODA/2.6/afecs/afecs/classes compile.module.afecs.tests: compile.module.afecs: build.jar: BUILD FAILED /home/daq/CODA/2.6/afecs/1.0/build.xml:111: /home/daq/CODA/2.6/afecs/1.0/classes not found. Total time: 0 seconds
Now setup ROC script
Installing CMLOG
I copied the binary files at /site/coda/cmlog over to /home/daq/CODA/2.5
~/CODA >scp -r tforest@ftp.jlab.org:/site/coda/CMLOG ./
ROC boot script
create the roc boot script and write it to /home/daq/CODA/bootscripts/roc1.boot
# Boot file for CODA ROC 2.0 # PowerPC version
# up the sliding window tcp_sendspace=0x8000 tcp_recvspace=0x8000
# Setup environment / load coda_roc putenv "MSQL_TCP_HOST=daq1" putenv "EXPID=LDS" putenv "TCL_LIBRARY=/home/daq/CODA/2.5/common/lib/tcl7.4" putenv "ITCL_LIBRARY=/home/daq/CODA/2.5/common/lib/itcl2.0" putenv "DP_LIBRARY=/home/daq/CODA/2.5/common/lib/dp" putenv "CMLOG_PORT=8102" putenv "TOKEN_PORT=5555" putenv "SESSION=daq"
# Download Message logging libraries/client ld < /home/daq/CODA/2.5/CMLOG/2.1/bin/ppc-vw55/cmlogClientD ld < /home/daq/CODA/2.5/CMLOG/2.1/lib/ppc-vw55/libcmlog.a ld < /home/daq/CODA/2.5/CMLOG/2.1/bin/ppc-vw55/cmlogVxLogMsg #cd "/home/daq/CODA/2.5/VXWORKSPPC55/lib" #ld < libcamac.o
cd "/home/daq/CODA/2.5/VXWORKSPPC55/bin" ld < coda_roc #ld < caSrvr
#cd "/home/daq/ROClibs" #ld < adc1182_ppc.o #ld < scale32Lib_ppc.o #ld < pas9740Lib_ppc.o #ld < sis3610Lib_ppc.o
# Spawn tasks sp cmlogClientD sp cmlogVxLogMsg taskDelay (60*5) # spawn the CAMAC remote server taskSpawn "caServ",110,spTaskOptions,10000,caSrvr_main # spawn the roc task taskSpawn ("ROC",200,0x8,250000,coda_roc,"-i","-s","daq","-objects","roc1 ROC")
as root create the following subdirectory and soft links
ln -s /home/daq/CODA /usr/local/coda
ln -s /home/daq/CODA/2.5/x86-linux /usr/local/x86-linux
mkdir /usr/local/gnu
ln -s /home/daq/CODA/2.5/x86-linux /usr/local/gnu/x86-linux
set the environmental variables
create a script to setup the environmenal variables
#!/bin/csh echo Setting up coda 2.5 on $HOST setenv CODA /usr/local/coda # source $CODA/coda.setup # Point to msqld on my host setenv MSQL_TCP_HOST daq1 setenv MSQL_HOME /usr/local/coda/common/rcdb # My database/session setenv EXPID ISU_LDS setenv SESSION DAQ # CMLOG browser (cmlog) setup file setenv CMLOG_CONFIG /home/data1/CODA/cmlogrc # broadcast message port must match that in /usr/local/CMLOG/cmlog.config setenv CMLOG_PORT 8102 # User specific env variables setenv CODA_DIRECTORY /home/daq/CODA setenv CODA_DATA /data1 # set up to use Cross compilers set path = ( $path . /usr/local/gnu/x86-linux/bin ${CODA}/2.5/Linux-rhe/bin )
start msql
startup msql deamon
msqld
and let in run
reboot ROC and check that all the libraries loaded
Create Run Configuration
Be sure the msql database is running
~/CODA >msqld mSQL Server 1.0.16coda starting ... setjmp returned 0 Checking Authority to use databases in /usr/local/coda/common/rcdb loading administration ACL msql.acl admin ACL loaded loading ACL for database LDS Warning : Couldn't open ACL file: No such file or directory database LDS ACL loaded. ACL load done
cedit
CODA uses the msql database to hold information reguarding host computer names, IP adresses, output files, and others. You can create your first data base entry using cedit and then edit it like a spreadsheet using dbedit. Below is an example of a simple database configuration after installing all the components using cedit.
create another window startup cedit
create a new database using the "File" menu "New Database"
I gave it the name "LDS"
I quit cedit and restarted to check that it was still there.
now add components
create and event builder
click on the icon for the event builder (blocks being assembled)
Name: eb1
Ethernet Host:134.50.3.210 ! this is the daq1 IP address
ID # : 1
created a roc
click on the 2nd icon below the gun which looks like the image below
Name: roc1
Ethernet Host: 134.50.3.216
Id Number: 2
Booting String $CODA_BIN/coda_roc
Readout List:$CODA/readoutlist/SIS3610/gen_int_list.crl
connect ROC and EB
You create a connection from the ROC to the EB by clicking on the green square on the ROC a drwaing a red line to a green square on the EB.
create an Event Recorder (ER) button
click on the image which looks like a cassette tape:
This will create and event recorder component which you will then conenct to a output file component
create an output file component
click on the icon which looks like a bullseye to create an output file component
connect ER and output file
Click on the ER's green tab to draw a red line from the ER to a green tab on the output file component.
created coda file output
clicking on bullseye like symbol in cedit
then clicked on green scquares to tie EB to bullseye
dbedit
I usually check everything using dbedit. It is a spreadsheet like interface allowing you to edit data base cells.
using dbedit:
to get DBEDIT to run I had to add the following to LD_LIBRARY_PATH
so now I have
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/CMLOG/lib/Linux:${CODA}/Linux-rhe/lib:${CODA}/cdev_1.7.5/lib/Linux-rh9
- ${CODA}/cdev_1.7.5/lib/Linux-rh9
codamaster
setenv KILL_CODA_SCRIPT
then run codamaster
everything was reported as down.
10.) had comment line in $CODA_BIN/makelist
- $CODA_BIN/fb_strip < $DOING_FILE.i.c > $DOING_FILE.c
5.) rcServer
I needed to setup the shared library path so it searches the CMLOG libs byadding the line below to the "setup" script unser $CODA
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/CMLOG/lib/Linux
6.) msql configureation
UROC
daq1
7.) edit /etc/hosts
added line for daq1
edited /etc/sysconfig
edited /etc/resolve
added search line for physics
8.) edited binary file output
11.) codamaster ( can be used to start coda rocs EB and ER...)
setenv KILL_CODA_SCRIPT
coda_roc -i -s -n DAQ -s UROC -t ROC
to make a virtual roc to run native on the Linux host
makelist test_list.crl native
Readoutlist
makelist gen_int_list.crl ppc