Installing CODA

From New IAC Wiki
Jump to navigation Jump to search

download 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


Stopped installation here

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 sudirectory and soft links

ln -s /home/daq/CODA /usr/local/coda

ln -s /home/daq/CODA/2.5/x86-linux /usr/local/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

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

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


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

  1. $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



return to DAQ page