Difference between revisions of "Integrated Low/High Voltage system application for Hall-D Detectors"

From GlueXWiki
Jump to: navigation, search
Line 71: Line 71:
 
  QTINC=/usr/lib64/qt-3.3/include
 
  QTINC=/usr/lib64/qt-3.3/include
 
  QTLIB=/usr/lib64/qt-3.3/lib
 
  QTLIB=/usr/lib64/qt-3.3/lib
 +
 +
== Compiling Drivers ==
 +
 +
cd $DRIVERS/configure    ; make
 +
cd $DRIVERS/HVCAENx527App ; make
 +
cd $DRIVERS/snmpApp      ; make
 +
cd $DRIVERS/LVMPODApp    ; make
 +
 +
The 1st entry will make link to REALEASE_2_INCLUDE file.
 +
The other 3 will be needed to work with CAEN SY1527 and WIENER MPOD types of mainframes.
 +
If You'll try to make in the $DRIVERS then, most likely You will fail due to some other drivers requiring other architectures for example.
 +
The 2nd will attempt to compile all drivers. Some of them will fail due to wrong architecture and other reasons.

Revision as of 06:10, 5 December 2013

Requirements

EPICS base must be installed and EPICS environment variables must be defined. Look at Installing_EPCIS_base.

Downloading the software

svn co https://halldsvn.jlab.org/repos/trunk/controls/epics

Setting up the environment

If you sourced environment of EPICS base, then you'll need to do something like this:

# A script to change the EPICS build area location to a local for a user directory
# This is needed if a user not hdsys wants to have his own development area and not 
# to interfere with the official Hall D EPICS build.

# Define the root directory where the drivers and applications will be build 
#       setenv EPICS_BUILD ~/epics/R3-14-12-3
        setenv EPICS_BUILD ~/controls/epics

# Set CA server port to be different from standart 5064. The CA client port will not change 
# because of this command 
#       setenv EPICS_CAS_SERVER_PORT 6064

# Set where the drivers and applications are checked-out and build using EPICS_BUILD variable
# this is important for someone compiling drivers and compiling and running applications
        setenv APP      ${EPICS_BUILD}/app 
        setenv DRIVERS  ${EPICS_BUILD}/drivers 

# Set the default SNMP MIB-file directory and the MIB-file list 
        setenv MIBDIRS "${DRIVERS}/mibs:/usr/share/snmp/mibs/"
        setenv MIBS    "ALL"

# Put the bin directories into the PATH and lib directories into the LD_LIBRARY_PATH variables
        setenv PATH "${APP}/bin/${EPICS_HOST_ARCH}:${PATH}:${DRIVERS}/bin/${EPICS_HOST_ARCH}:${PATH}:"
        setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${APP}/lib/${EPICS_HOST_ARCH}:${DRIVERS}/lib/${EPICS_HOST_ARCH}:"

You will need to redefine EPICS_BUILD to the directory where You had checked out.


I have the following EPICS related environment variables setup up. If something goes wrong You may want to compare what I have.

APP=/home/nerses/controls/epics/app
CLASSPATH=/halldfs1/gluex/controls/epics/R3-14-12-3/extensions/javalib
CSS=/gluex/controls/css
CSS_VERSION=3.1.4
DRIVERS=/home/nerses/controls/epics/drivers

EPICS_AR_PORT=7002
EPICS_BASE=/halldfs1/gluex/controls/epics/R3-14-12-3/base
EPICS_BUILD=/home/nerses/controls/epics
EPICS_CA_ADDR_LIST= 
EPICS_CA_MAX_ARRAY_BYTES=100000
EPICS_DISPLAY_PATH=/halldfs1/gluex/controls/epics/R3-14-12-3/app/medm
EPICS_EXTENSIONS=/halldfs1/gluex/controls/epics/R3-14-12-3/extensions
EPICS_GATEWAY_HOME=/halldfs1/gluex/controls/epics/R3-14-12-3/../gateway
EPICS=/halldfs1/gluex/controls/epics/R3-14-12-3
EPICS_HOST_ARCH=linux-x86_64
EPICS_SUPPORT=/halldfs1/gluex/controls/epics/R3-14-12-3/support
EPICS_VERSION=3-14-12-3
MIBDIRS=/home/nerses/controls/epics/drivers/mibs:/usr/share/snmp/mibs/
MIBS=ALL
MYSQINC=/usr/include/mysql
MYSQLIB=/usr/lib64/mysql
MYSQL_INCLUDE_PATH=/usr/include/mysql
MYSQL_LIB_PATH=/usr/lib64/mysql
ORBITSCREENHOME=/halldfs1/gluex/controls/epics/R3-14-12-3/extensions/src/orbitscreen
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib

Compiling Drivers

cd $DRIVERS/configure     ; make
cd $DRIVERS/HVCAENx527App ; make
cd $DRIVERS/snmpApp       ; make
cd $DRIVERS/LVMPODApp     ; make

The 1st entry will make link to REALEASE_2_INCLUDE file. The other 3 will be needed to work with CAEN SY1527 and WIENER MPOD types of mainframes. If You'll try to make in the $DRIVERS then, most likely You will fail due to some other drivers requiring other architectures for example. The 2nd will attempt to compile all drivers. Some of them will fail due to wrong architecture and other reasons.