Difference between revisions of "Installing CODA"

From New IAC Wiki
Jump to navigation Jump to search
Line 127: Line 127:
 
I currently have the files
 
I currently have the files
  
==running rcplatform==
+
==Errors setting up rcplatform==
  
 
set environment variables
 
set environment variables

Revision as of 18:37, 11 December 2009

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

CODA wiki

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:

  1. source /home/daq/CODA/2.6/setup
  2. cd $AFECS_HOME/bin
  3. platform

To run coda2.6 run-control

  1. source /home/daq/CODA/2.6/setup
  2. cd $AFECS_HOME/bin
  3. 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.

DataBaseSetupUsingCedit.jpg

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)

CeditCreateEBbutton.jpg

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

CeditCreateROCButton.jpg

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:

CediteCreateERbutton.jpg

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

CeditCreateOutputFileComponent.jpg

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

  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