Epics@GSI Webhome

step-by-step - EPICS installations at GSI


... on user account epics on Linux sarge system

On the Linux system at GSI there are:
  • an user account epics to provide the space to store this installation, a login is practically '_never_' foreseen. (I meanwhile even forgot the password)
  • two groups:
    1. epicsadm for general installations
    2. epicsusr for user specific installations

GSI Prerequisites

Things you have to prepare and conditions you have to fulfill before being able to start any installation for the general GSI installations ... more.


GSI Directory Setup

Here you can find a sketch of how the directories are related with each other

  • Nomenclature
  file
  link to a file
  directory
  link to a directory

  • /usr/local/bin
    • contains (soft) links to <GSI's EPICS Installation Top Directory>/bin/
      • where at the moment:
        • <GSI's EPICS Installation Top Directory> is ~epics
      • but will be:
        • /usr/local/pub
    • linked files
      • epics

  • <GSI's EPICS Installation Top Directory>
  <GSI's EPICS Installation Top Directory>
  bin/
  epics
  epicslogin.sh
  fcn_addtopath.bash
  uniqpaths
  EPICS-<Version A.BB.CC>[_<optional Suffix>] (old structure, supported until new structure has established)
  ...
  EPICS-<Version X.YY.ZZ> (old structure, supported until new structure has established)
  EPICS
  ${GSI_OS_FLAVOR}${GSI_OS_VERSION}/$(uname -m)/${GSI_COMPILER_CC}
  (same sub structure as for EPICS directory in the local installation, see below)

  • <All local EPICS top directory>
  <All local EPICS top directory>
  .profile / .bashrc
  ( could contain settings for EPICS_LOCAL_... settings for epics script:
  EPICS_LOCAL_HOME_DIR=EPICS/${GSI_OS_FLAVOR}$(echo ${GSI_OS_VERSION?undefined}| sed -e 's/\(.\..\)\../\1/g')/$(uname -m)/${GSI_COMPILER_CC} )
  bin
  (should be included in the lookup path PATH)
  epics
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  epicslogin.sh
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  fcn_addtopath.bash
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  uniqpaths
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  programs
  pro/dev (optionally)
  ${GSI_OS_FLAVOR}${GSI_OS_VERSION}/$(uname -m)/${GSI_COMPILER_CC}
  bin
  (should be included in the lookup path PATH)
  lib
  (if necessary should be included in the lookup e.g. path LD_LIBRARY_PATH)
  include
  <Installation directory 1> (e.g. axis, missing libraries, tweaks)
  ...
  <Installation directory N>
  EPICS
  ${GSI_OS_FLAVOR}$(echo ${GSI_OS_VERSION?undefined}| sed -e 's/\(.\..\)\../\1/g')/$(uname -m)/${GSI_COMPILER_CC}
  EPICS-<Version A.BB.CC>[_<optional Suffix>][_dev]
  (w/  suffix: _dev: development versions, place for first installation of new/changed code, may not be working)
  (w/o suffix: _dev: production versions, only changed, if changes work in _dev)
  ...
  EPICS-<Version X.YY.ZZ>
  myepicslogin.sh
  (This setup file myepicslogin.sh is the only recommended place to change/tweak/modify settings for this local installation)
  <other setup files> (optional: called by myepicslogin.sh)
  epicslogin.sh
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  fcn_addtopath.bash
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  uniqpaths
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  base ((soft) link auf base-<Version X.YY.ZZ>
  base-<Version X.YY.ZZ>
  configure
  RELEASE : EPICS_BASE=$(EPICS_HOME)/base
  CONFIG_SITE : =CROSS_COMPILE_TARGET_ARCH ... ==
  startup
  Site.profile
  Site.profile.org.base.<DDYYMM>
  extensions
  (in case of problems, probably (soft) links to other ${GSI_COMPILER_CC} version directory)
  configure (q.v. "base")
  src
  Makefile (master Makefile, edited during installation)
  <Installation directory 1>
  ...
  <Installation directory N>
  modules
  (in case of problems, probably (soft) links to other ${GSI_COMPILER_CC} version directory)
  __bus__/...
  configure (q.v. "base")
  ...
  __soft__/...
  configure (q.v. "base")

-- PeterZumbruch - 23 Jun 2009


EPICS base

Installation of the EPICS base distribution:


1 Preface

1.1 Scripts: #!/bin/bash


Up-to-now
All tools rely on bash shell scripting.


1.2 some global environment variables during installation

During installation those environment variables are used to define a common setup environment

%EPICS_ALL_EPICS_TOP_DIR_NAME%
top directory which holds different EPICS versions and whose bin directory is included in $PATH (e.g. ~epics, /usr/local/pub)
%EPICS_DOWNLOAD_DIR_NAME%
directory where you store your downloads
%EPICS_HOME_DIR_NAME%
directory where your current installation should be (installed)
%EPICS_VERSION_NAME%
version to be installed

therefore do the export here:
%COMMENT_CMD% Global installation settings

echo -n %EPICS_ALL_EPICS_TOP_DIR_DUMMY%: && %READ_CMD% %EPICS_ALL_EPICS_TOP_DIR_NAME% && export %EPICS_ALL_EPICS_TOP_DIR_NAME%
echo -n %EPICS_HOME_DIR_DUMMY%: && %READ_CMD% %EPICS_HOME_DIR_NAME% && export %EPICS_HOME_DIR_NAME%
echo -n %EPICS_DOWNLOAD_DIR_DUMMY%: && %READ_CMD% %EPICS_DOWNLOAD_DIR_NAME% && export %EPICS_DOWNLOAD_DIR_NAME%
echo -n %EPICS_VERSION_DUMMY%: && %READ_CMD% %EPICS_VERSION_NAME% && export %EPICS_VERSION_NAME%



2 General Preparations

Following the corresponding %EPICSBASE_DOCS%/README.html (local copy) section Building EPICS base (Unix and Win32) provided in the download area, which is titled Installation Instruction, do the following:


2.1 Checks

  • Check the supported compilers
  • Check the software requirements
*Software requirements of version %EPICSBASE_VERSION%*

GNU make
You must use GNU make, gnumake, for any EPICS builds. Set your path so that a gnumake version 3.81 or later is available.
gcc
You must have gcc version 3.4.2 or later.
Perl
You must have perl version 5.8 or later installed. The configure files do not specify the perl full pathname. You need the perl executable in your search path.


2.2 Create Directory and Download Sources


2.2.1 Preface - GSI: Facing different versions flavors of OS, architectures and compilers


Since releases and versions are evolving and to be able to follow this trend, the normal user logged in to Linux system at GSI can rely on having the following environment variables available:
  • GSI_OS_FLAVOR
  • GSI_OS_VERSION
  • GSI_COMPILER_CC

Based on this the installations of epics can be found in directories based on the following scheme:
  • %GSI_EPICS_OS_DIR_TREE%

At the moment /u/epics/ holds all EPICS versions without considering this scheme, but will be in future:
  • /u/epics/EPICS/%GSI_EPICS_OS_DIR_TREE%/EPICS-X.YY.ZZ

...and a little bit later:
  • /usr/local/pub/%GSI_EPICS_OS_DIR_TREE%/EPICS-X.YY.ZZ

By using the epics script ( see below) every user is directed to the corresponding set of versions.


2.2.1.1 Directory Setup

Here you can find a sketch of how the directories are related with each other

  • Nomenclature
  file
  link to a file
  directory
  link to a directory

  • /usr/local/bin
    • contains (soft) links to <GSI's EPICS Installation Top Directory>/bin/
      • where at the moment:
        • <GSI's EPICS Installation Top Directory> is ~epics
      • but will be:
        • /usr/local/pub
    • linked files
      • epics

  • <GSI's EPICS Installation Top Directory>
  <GSI's EPICS Installation Top Directory>
  bin/
  epics
  epicslogin.sh
  fcn_addtopath.bash
  uniqpaths
  EPICS-<Version A.BB.CC>[_<optional Suffix>] (old structure, supported until new structure has established)
  ...
  EPICS-<Version X.YY.ZZ> (old structure, supported until new structure has established)
  EPICS
  ${GSI_OS_FLAVOR}${GSI_OS_VERSION}/$(uname -m)/${GSI_COMPILER_CC}
  (same sub structure as for EPICS directory in the local installation, see below)

  • <All local EPICS top directory>
  <All local EPICS top directory>
  .profile / .bashrc
  ( could contain settings for EPICS_LOCAL_... settings for epics script:
  EPICS_LOCAL_HOME_DIR=EPICS/${GSI_OS_FLAVOR}$(echo ${GSI_OS_VERSION?undefined}| sed -e 's/\(.\..\)\../\1/g')/$(uname -m)/${GSI_COMPILER_CC} )
  bin
  (should be included in the lookup path PATH)
  epics
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  epicslogin.sh
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  fcn_addtopath.bash
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  uniqpaths
  (recommended to be a (soft) link to <GSI's EPICS Installation Top Directory>/bin)
  programs
  pro/dev (optionally)
  ${GSI_OS_FLAVOR}${GSI_OS_VERSION}/$(uname -m)/${GSI_COMPILER_CC}
  bin
  (should be included in the lookup path PATH)
  lib
  (if necessary should be included in the lookup e.g. path LD_LIBRARY_PATH)
  include
  <Installation directory 1> (e.g. axis, missing libraries, tweaks)
  ...
  <Installation directory N>
  EPICS
  ${GSI_OS_FLAVOR}$(echo ${GSI_OS_VERSION?undefined}| sed -e 's/\(.\..\)\../\1/g')/$(uname -m)/${GSI_COMPILER_CC}
  EPICS-<Version A.BB.CC>[_<optional Suffix>][_dev]
  (w/  suffix: _dev: development versions, place for first installation of new/changed code, may not be working)
  (w/o suffix: _dev: production versions, only changed, if changes work in _dev)
  ...
  EPICS-<Version X.YY.ZZ>
  myepicslogin.sh
  (This setup file myepicslogin.sh is the only recommended place to change/tweak/modify settings for this local installation)
  <other setup files> (optional: called by myepicslogin.sh)
  epicslogin.sh
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  fcn_addtopath.bash
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  uniqpaths
  (recommended to be a (soft) link to <All local EPICS top directory>/bin)
  base ((soft) link auf base-<Version X.YY.ZZ>
  base-<Version X.YY.ZZ>
  configure
  RELEASE : EPICS_BASE=$(EPICS_HOME)/base
  CONFIG_SITE : =CROSS_COMPILE_TARGET_ARCH ... ==
  startup
  Site.profile
  Site.profile.org.base.<DDYYMM>
  extensions
  (in case of problems, probably (soft) links to other ${GSI_COMPILER_CC} version directory)
  configure (q.v. "base")
  src
  Makefile (master Makefile, edited during installation)
  <Installation directory 1>
  ...
  <Installation directory N>
  modules
  (in case of problems, probably (soft) links to other ${GSI_COMPILER_CC} version directory)
  __bus__/...
  configure (q.v. "base")
  ...
  __soft__/...
  configure (q.v. "base")



2.2.2 Download EPICS base

Version %EPICSBASE_VERSION% (as of %EPICSBASE_VERSIONDATE%)
from: %EPICSBASE_DOWNLOADADRESS%

  1. %CREATE_HOME_EXPORT{CREATE_HOME_EXPORT_LIST="%EPICS_VERSION_NAME% (assuming %EPICSBASE_VERSION% to be set), %EPICS_HOME_DIR_NAME%" CREATE_HOME_EXPORT_DIR="home"}%
    $> export %EPICS_VERSION_NAME%=%EPICSBASE_VERSION%
    $> export %EPICS_HOME_DIR_NAME%=%EPICS_HOME_DIR_DUMMY%
  2. Check neccessary ENVIRONMENT variables and stop if not set:
    %COMMENT_CMD% Check installation environment variables
    echo -n '%EPICS_ALL_EPICS_TOP_DIR_DUMMY%: %EPICS_ALL_EPICS_TOP_DIR_NAME% ->' && if [[ -z ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}; fi &&
    echo -n '%EPICS_HOME_DIR_DUMMY%: %EPICS_HOME_DIR_NAME% ->' && if [[ -z ${%EPICS_HOME_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_HOME_DIR_NAME%}; fi &&
    echo -n '%EPICS_DOWNLOAD_DIR_DUMMY%: %EPICS_DOWNLOAD_DIR_NAME% ->' && if [[ -z ${%EPICS_DOWNLOAD_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_DOWNLOAD_DIR_NAME%}; fi &&
    echo -n '%EPICS_VERSION_DUMMY%: %EPICS_VERSION_NAME% ->' && if [[ -z ${%EPICS_VERSION_NAME%?} ]]; then die; false; else echo ${%EPICS_VERSION_NAME%}; fi &&
    :
  3. %CREATE_EPICSMYHOME_DIR%
    $> mkdir -p $%EPICS_HOME_DIR_NAME%
  4. Depending whether (Bazaar - bzr) is available two alternatives open up:
    • Bazaar
      1. %DOWNLOAD_OF_X_OF_DATE_VERSION_FROM_TO{DOWNLOAD_OF_X="%EPICSBASE_SRCNAME%" DOWNLOAD_OF_DATE="%EPICSBASE_VERSIONDATE%" DOWNLOAD_OF_VERSION="%EPICSBASE_VERSION%" DOWNLOAD_OF_FROM="%EPICSBASE_DOWNLOADADRESS%" DOWNLOAD_OF_TO="%EPICS_HOME_DIR_NAME%"}% using Bazaar
        $> cd %EPICSBASE_INSTALLDIR% &&
        %WHICH_CMD% %BZR_CMD% >/dev/null 2>&1 && %BZR_CMD% checkout --lightweight -r tag:R${%EPICSBASE_VERSION_NAME%}% lp:%EPICSBASE_LAUNCHPAD% base-%EPICSBASE_VERSION%"
    • Tar Ball
      1. Then create download directory, if not yet existing:
        $> mkdir -p %EPICSBASE_DOWNLOADPATH%
      2. %DOWNLOAD_OF_X_OF_DATE_VERSION_FROM_TO{DOWNLOAD_OF_X="%EPICSBASE_SRCNAME%" DOWNLOAD_OF_DATE="%EPICSBASE_VERSIONDATE%" DOWNLOAD_OF_VERSION="%EPICSBASE_VERSION%" DOWNLOAD_OF_FROM="%EPICSBASE_DIRECTDOWNLOADADRESS%" DOWNLOAD_OF_TO="%EPICSBASE_DOWNLOADPATH%"}%
        $> cd %EPICSBASE_DOWNLOADPATH% &&
        wget -N %EPICSBASE_DIRECTDOWNLOADADRESS%/%EPICSBASE_TARFILENAME%
      3. Untar and unpack the file to %EPICSBASE_INSTALLDIR%
        $> cd %EPICSBASE_INSTALLDIR% && tar axvf %EPICSBASE_DOWNLOADPATH%/%EPICSBASE_TARFILENAME%
  5. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm and also set the correct rights:
    cd %EPICSBASE_INSTALLDIR% &&
    groups | grep -q -w epicsadm && chgrp -R epicsadm %EPICSBASE_INSTALLDIR% &&
    find %EPICSBASE_INSTALLDIR% -user $(id -n -u) -exec chmod ug+rw {} \;
  6. To make future settings easier:
    $> cd %EPICSBASE_INSTALLDIR% && ln -s base-* base

2.2.3 Download patches EPICS base

Starting from the page %EPICSBASE_DOCS%/KnownProblems.html for each version may list several patches to be applied.

2.2.4 Compact - Directories/epics & Download of Base Sources

%COMMENT_CMD% Check installation environment variables
echo -n '%EPICS_ALL_EPICS_TOP_DIR_DUMMY%: %EPICS_ALL_EPICS_TOP_DIR_NAME% ->' && if [[ -z ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}; fi &&
echo -n '%EPICS_HOME_DIR_DUMMY%: %EPICS_HOME_DIR_NAME% ->' && if [[ -z ${%EPICS_HOME_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_HOME_DIR_NAME%}; fi &&
echo -n '%EPICS_DOWNLOAD_DIR_DUMMY%: %EPICS_DOWNLOAD_DIR_NAME% ->' && if [[ -z ${%EPICS_DOWNLOAD_DIR_NAME%?} ]]; then die; false; else echo ${%EPICS_DOWNLOAD_DIR_NAME%}; fi &&
echo -n '%EPICS_VERSION_DUMMY%: %EPICS_VERSION_NAME% ->' && if [[ -z ${%EPICS_VERSION_NAME%?} ]]; then die; false; else echo ${%EPICS_VERSION_NAME%}; fi &&
:

download_epicsBase()
{
mkdir -p $%EPICS_HOME_DIR_NAME% &&
cd %EPICSBASE_INSTALLDIR% &&
%WHICH_CMD% %BZR_CMD% >/dev/null 2>&1 && %BZR_CMD% checkout --lightweight -r tag:R${%EPICSBASE_VERSION_NAME%}% lp:%EPICSBASE_LAUNCHPAD% base-%EPICSBASE_VERSION%"

%IF_CMD%[ $? -ne 0 ];
then
mkdir -p %EPICSBASE_DOWNLOADPATH% &&
cd %EPICSBASE_DOWNLOADPATH% &&
wget -N %EPICSBASE_DIRECTDOWNLOADADRESS%/%EPICSBASE_TARFILENAME%
&&
cd %EPICSBASE_INSTALLDIR% && tar axvf %EPICSBASE_DOWNLOADPATH%/%EPICSBASE_TARFILENAME%
%FI_CMD% &&
cd %EPICSBASE_INSTALLDIR% &&
groups | grep -q -w epicsadm && chgrp -R epicsadm %EPICSBASE_INSTALLDIR% &&
find %EPICSBASE_INSTALLDIR% -user $(id -n -u) -exec chmod ug+rw {} \;
&&
cd %EPICSBASE_INSTALLDIR% && ln -s base-* base
}


download_epicsBase


2.3 Setting environment variables

There are at least two major possiblities:


2.3.1 epics set of scripts


2.3.1.1 epics

The epics script is a global script (used at GSI) to set the EPICS settings.

It relies on having ((symbolic) links to) myepicslogin.sh and epicslogin.sh in the EPICS versions home directories (installation, see below).
Usually it is only installed once for all EPICS distributions and is told (by default values, environment variables, options) where to look for the installations.
By just typing/sourcing epics (which is at GSI included in the default path) practical all settings are done.
$> . epics

For more details use the help option: -h
$> . epics -h


2.3.1.1.1 Usage: epics script

epics has to be sourced as is, i.e. called with a leading dot
$> . epics -h
gives all information on options:
epics [Options] [version]
   sets environment variables for EPICS
  
   * changes to corresponding EPICS HOME directory:
       [<HOME>/<PREFIX><VERSION>, default: /u/epics/EPICS-3.14.9]
   * and calls the (local) login script for this version
     * relies on having a (local) login script ( default: ./myepicslogin.sh ) 
       in the home directory of the corresponding EPICS installation
   * optionally might execute (source) scripts before and after the call to the login script
     * defaults:
        * before script: [ not set ]
        * after  script: [ not set ]

   arguments: 
       version: EPICS version (default: "3.14.9")

   options:
      -h : prints this Help
      -l : list all available versions in home directory /u/epics
      -s : stay at $EPICS_HOME directory
      -q : quiet no output, but error messages
      -v : verbose mode
      -d : debug mode, just echo no action
      -H argument : home directory of several EPICS versions
                    (default: "/u/epics")
      -P argument : version prefix for PREFIXversion
                    (default: "EPICS-")
      -L argument : login script looked for in $EPICS_HOME
                    (default: "./myepicslogin.sh")
      -B argument : script to be sourced before calling login script
                    (default: "[ not set ]")
      -A argument : script to be sourced after calling login script
                    (default: "[ not set ]")

   LOCAL environment variables:
     
      EPICS_LOCAL_HOME:
        the default home directory of the several EPICS versions can be modified
        by setting the environment variable 
        EPICS_LOCAL_HOME [at the moment not set]

      EPICS_LOCAL_DIR_PREFIX:
      the default search prefix for directories in /u/epics can be modified
        by setting the environment variable 
        EPICS_LOCAL_DIR_PREFIX [at the moment not set]

      EPICS_LOCAL_LOGIN_SCRIPT:
      the default call to the (local) login script
        in the epics installation directories can be modified
        by setting the environment variable 
        EPICS_LOCAL_LOGIN_SCRIPT [at the moment not set]

      EPICS_LOCAL_DEFAULT_VERSION:
      the EPICS version can be modified
        by setting the environment variable 
        EPICS_LOCAL_DEFAULT_VERSION [at the moment not set]

      EPICS_LOCAL_SCRIPT_BEFORE_LOGIN:
      the local script default for a script sourced befored login can be modified
        by setting the environment variable 
        EPICS_LOCAL_SCRIPT_BEFORE_LOGIN [at the moment not set]

      EPICS_LOCAL_SCRIPT_AFTER_LOGIN:
      the local script default for a script sourced after login can be modified
        by setting the environment variable 
        EPICS_LOCAL_SCRIPT_AFTER_LOGIN [at the moment not set]

   you have to call this script with a leading '. ', i.e. source it
--> i.e.: '. epics'

   


2.3.1.1.2 epics invocation scheme

The setup script epics relies on other scripts in the EPICS versions home directories. Here you can see how those files are invoked:
  • Typically most of those files are just links to other places, except for myepicslogin.sh.
    Based on the basic setup (see below) an adminstrator can add / modify / tweak at this recommended place.

  . epics [ -Options ] [ <version> ]
  general login script, able to call several EPICS installations
   
  1. optional: <before script>
  source <before script>
  (set by environment variable: EPICS_LOCAL_BEFORE_SCRIPT, or overwritten by option -B <Path><bash script> )
   
  2. <loginScript> "myepicslogin.sh"
  source <loginScript>
  local, i.e. to the single EPICS installation, login script
  default :
  "<epicsHome>/<epicsDirPrefix><version>/myepicslogin.sh"
  overwritten by environment variable:
  EPICS_LOCAL_LOGIN_SCRIPT
  overwritten by option :
  -L <Path><bash script>
   
  2.1. optional <other local pre scripts> within <loginScript>:
  source <other local pre scripts>
   
  2.2. epicslogin.sh :
  source <epicsHome>/<epicsDirPrefix><version>/epicslogin.sh
  epicslogin.sh :
  usually a (soft) link to %MY_ALL_EPICS_TOP_DIRECTORY_VAR%/bin
  or to %GSI_EPICS_INSTALLATIONS_TOP_DIRECTORY_VAR%/bin
   
  2.2.1 source <epicsHome>/<epicsDirPrefix><version>/epicslogin.sh
  in case it has been extended/changed to be wrapper this is a symbolic link to
  $EPICS_HOME/base-<version>/startup/Site.profile.wrapper calling itself:
   
  2.2.1.1 source $EPICS_HOME/base-<version>/startup/Site.profile.pre
  most of the local default definitions before calling the former, but modified Site.profile
   
  2.2.1.2 source $EPICS_HOME/base-<version>/startup/Site.profile.main
  former Site.profile modified to be able to be more verbose
   
  2.2.1.3 source $EPICS_HOME/base-<version>/startup/Site.profile.post
  post jobs after calling Site.profile.main
   
  2.3. optional: source <other local scripts, e.g. setting of PATHs, init of cross-compilers>
   
  3. optional: source <after script>
  (set by environment variable: EPICS_LOCAL_AFTER_SCRIPT, or overwritten by option -A <Path><bash script> )

  • Variables:
    • <epicsHome>
      • default: ~epics
        (to become /usr/local/pub/%GSI_EPICS_OS_DIR_TREE%)
      • override by environment variable: EPICS_LOCAL_HOME
      • overwritten by option: -H <Path>
    • <epicsDirPrefix>
      • default: "EPICS-"
      • override by environment variable: EPICS_LOCAL_DIR_PREFIX
      • overwritten by option: -P <Prefix>
    • <version>
      • default: 3.14.9
      • override by environment variable: EPICS_LOCAL_DEFAULT_VERSION
      • overwritten by argument: <Version>
    • <loginScript>
      • default: "./myepicslogin.sh"
      • override by environment variable: EPICS_LOCAL_LOGIN_SCRIPT
      • overwritten by option -L <Path><bash script>
    • <beforeScript>
      • default: [ not set ]
      • override by environment variable: EPICS_LOCAL_BEFORE_SCRIPT
      • overwritten by option -B <Path><bash script>
    • <afterScript>
      • default: [ not set ]
      • override by environment variable: EPICS_LOCAL_AFTER_SCRIPT
      • overwritten by option -A <Path><bash script>


2.3.1.1.2.1 To install the epics script...
  • Only needed on non GSI cluster systems.

  1. Set %EPICS_ALL_EPICS_TOP_DIR_NAME% to the top home directory of all epics installations (e.g. ~epics/EPICS)
    $> export %EPICS_ALL_EPICS_TOP_DIR_NAME%=%EPICS_ALL_EPICS_TOP_DIR_DUMMY%
  2. If not yet existing create a bin directory ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin
    [ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin
  3. Change to the directory $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin and download (or check available links for) at least the epics script.
    mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
    cd %EPICS_DOWNLOAD_DIR%/bin &&
    wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epics &&
    cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cp -i %EPICS_DOWNLOAD_DIR%/bin/epics ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
  4. make epics script available
    • As superuser root you could create a soft link from /usr/local/bin to your epics script.
      or add $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin to the PATH variable:
      #> %IF_THEN_CMD{CONDITION=" \"$(id -u)\" -eq 0" TASK="ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epics /usr/local/bin "}% %ELSE_CMD{TASK="[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?'undefined'}/bin ] && export PATH=%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin:${PATH}"}% %FI_CMD%

2.3.1.1.2.2 Compact - Epics Script Installation
install_epicsScript()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epics &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epics ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
&&
%IF_THEN_CMD{CONDITION=" \"$(id -u)\" -eq 0" TASK="ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epics /usr/local/bin "}% %ELSE_CMD{TASK="[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?'undefined'}/bin ] && export PATH=%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin:${PATH}"}% %FI_CMD%
}

install_epicsScript


2.3.1.2 epicslogin.sh (fcn_addtopath.bash, uniqpaths, Site.profile set)

The recommended way is to use epicslogin.sh (bash script).
  • epicslogin.sh
    which itself sources the script from %EPICS_BASE_DIRECTORY_DUMMY%/startup/Site.profile
    • uses those helper scripts to be put in a <Fcn Helper Bin Directory>
      (e.g. to the directory ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:-~epics}/bin)


2.3.1.2.1 Usage: epicslogin.sh

epicslogin.sh has to be sourced as is, i.e. called with a leading dot
$> . ./epicslogin.sh
The option ' -h ' or anything else gives a help with all information on options and syntax:
$> ./epicslogin.sh -h
   epicslogin.sh [Options] [version]
   -- sets environment variables for EPICS
   -- calls the Site Profile: set via "-P" or default: "${baseDir}/startup/Site.profile"
   --
   -- version: EPICS version
   --          (default: "3.14.10")
   -- options:
   ----- -v : verbose mode
   ----- -h : prints this help
   ----- -H argument : sets $EPICS_HOME to argument
   -----               (default: "${homeofuser}/EPICS")
   ----- -B argument : sets $EPICS_BASE to argument or
   -----               if argument is a relative path it extends to $EPICS_HOME/argument
   -----               (default: "base-${epicsversion}")
   ----- -P argument : sets Site Profile to be sourced to argument
   -----               (default: "${baseDir}/startup/Site.profile"
   -----                where $basedir behaves like EPICS_BASE
   -----                as described for option "-B")
   ----- -A argument : sets path to necessary helper script "fcn_addtopath.bash":
   -----               (default: "/u/epics/bin/fcn_addtopath.bash")
   -----
   ----- if MY_EPICS_BASE (="") is externally set as base directory:
   -----    case "option -B not used":
   -----                       EPICS_BASE set to MY_EPICS_BASE
   -----    case "option -B used:
   -----                       MY_EPICS_BASE set to EPICS_BASE
   -----
   ----- version: version of EPICS
   -----          (used in the path <epicshome>/base-version)
   -----
   -- you have to call this script with a leading '. '
   --> i.e.: '. epicslogin.sh'
   
thus, e.g.
. ./epicslogin.sh -v -H %EPICS_HOME_DIR_DUMMY% -B %EPICS_BASE_DIRECTORY_DUMMY% -A %EPICS_HOME_DIR_DUMMY% %EPICS_VERSION_DUMMY%
gives
   sourcing %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/base-%EPICS_VERSION_DUMMY%/startup/Site.profile
   EPICS_HOME               set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%
   EPICS_BASE               set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/base-%EPICS_VERSION_DUMMY%
   EPICS_EXTENSIONS         set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/extensions
   EPICS_MODULES            set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/modules
   PSPRINTER                set to lp
   EPICS_DISPLAY_PATH       set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/extensions/medm/adl
   ORBITSCREENHOME          set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/extensions
   EPICS_AR_PORT            set to 7002
   added %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/extensions/javalib behind CLASSPATH
   EPICS_SNCSEQ_HOME        set to %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/modules/seq
   EPICS_HOST_ARCH          set to linux-x86
   added %EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/extensions/bin/linux-x86 in front of PATH
   added /u/epics/bin:%EPICS_HOME_DIR_DUMMY%/EPICS-%EPICS_VERSION_DUMMY%/base-%EPICS_VERSION_DUMMY%/bin/linux-x86 in front of PATH
   EPICS_CA_ADDR_LIST       set to <hostname>
   EPICS_CA_AUTO_ADDR_LIST  set to NO
   --> Created for each variable EPICS_* a copy EPICS_*_COPY
       to be used in CONFIGURE scripts where EPICS_ variables might be overwritten 


2.3.1.2.1.1 To install epicslogin.sh (fcn_addtopath.bash, uniqpaths) ...
  • Only needed on non GSI cluster systems.

  1. Set %EPICS_ALL_EPICS_TOP_DIR_NAME% to the top home directory of all epics installations (e.g. ~epics/EPICS)
    $> export %EPICS_ALL_EPICS_TOP_DIR_NAME%=%EPICS_ALL_EPICS_TOP_DIR_DUMMY%
  2. If not yet existing create a bin directory ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin
    [ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin || %DIE_CMD%
  3. Change to the directory $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin and download (or check available links for) at least the epics script.
    mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
    cd %EPICS_DOWNLOAD_DIR%/bin &&
    wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epicslogin.sh &&
    cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cp -i %EPICS_DOWNLOAD_DIR%/bin/epicslogin.sh ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cd %EPICS_DOWNLOAD_DIR%/bin &&
    wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/fcn_addtopath.bash &&
    cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cp -i %EPICS_DOWNLOAD_DIR%/bin/fcn_addtopath.bash ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cd %EPICS_DOWNLOAD_DIR%/bin &&
    wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/uniqpaths &&
    cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
    cp -i %EPICS_DOWNLOAD_DIR%/bin/uniqpaths ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :

2.3.1.2.2 Site.profile set of files
  • Only needed on non GSI cluster systems.
  • ... and optionally those set of file to <EPICS Base Directory>/startupproviding more verbosity.
    • packed in the modify.Site.Profile tar ball
      Site.profile.wrapper
      wrapper script calling (modified) Site.profile script now named Site.profile.main, before Site.profile.pre and after Site.profile.post
      Site.profile.pre
      most of additional settings done here
      Site.profile.post
      cleaning up, if neccessary
      modify.Site.profile.pl
      file to modify/extend Site.profile for additional verbosity and path check
    • Strategy:
      1. backup orignal Site.profile
        • if already existing
          1. replace current by original
          2. backup original with new date to follow-up last changes
      2. download files, cosmetic renaming
      3. rename Site.profile to Site.profile.main
      4. apply perl script to Site.profile.main
      5. soft link Site.profile.wrapper to Site.profile

2.3.1.2.2.1 To install Site.profile
{

mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/Base/startup &&
cd %EPICS_DOWNLOAD_DIR%/Base/startup &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/modify.Site.profile.7z &&
cd ${EPICS_HOME:?"undefined"}/base/startup &&
[ -f Site.profile ] &&
{
ls ${installDir} | grep -q Site.profile.org; &&
if [ 0 -eq $? ];
then
mv $(ls -tr1 Site.profile.org.* | head -n 1 | xargs) Site.profile;
fi } &&
cp -i Site.profile Site.profile.org$(date +%d%m%y) &&
tar axvf %EPICS_DOWNLOAD_DIR%/Base/startup/modify.Site.profile.7z &&
mv Site.profile Site.profile.main &&
perl -pi modify.Site.profile.pl Site.profile.main &&
ln -s -s -b Site.profile.wrapper Site.profile && :

} || %DIE_CMD%


2.3.1.2.3 Mandatory soft links - (epicslogin.sh, fcn_addtopath.bash, uniqpaths)
Finally you need to set soft links for the scripts in your %EPICS_HOME_DIR_DUMMY%:
cd ${%EPICS_HOME_DIR_NAME%:?"undefined"} &&
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/epicslogin.sh ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epicslogin.sh . || echo "epicslogin.sh" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/fcn_addtopath.bash ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/fcn_addtopath.bash . || echo "fcn_addtopath.bash" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/uniqpaths ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/uniqpaths . || echo "uniqpaths" not available 1>&2


2.3.1.2.4 Compact - epicslogin.sh (fcn_addtopath.bash, uniqpaths, Site.profile set)

install_epicsloginSh()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin || %DIE_CMD% &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epicslogin.sh &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epicslogin.sh ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/fcn_addtopath.bash &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/fcn_addtopath.bash ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/uniqpaths &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/uniqpaths ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
}

install_SiteProfile()
{
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/Base/startup &&
cd %EPICS_DOWNLOAD_DIR%/Base/startup &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/modify.Site.profile.7z &&
cd ${EPICS_HOME:?"undefined"}/base/startup &&
[ -f Site.profile ] &&
{
ls ${installDir} | grep -q Site.profile.org; &&
if [ 0 -eq $? ];
then
mv $(ls -tr1 Site.profile.org.* | head -n 1 | xargs) Site.profile;
fi } &&
cp -i Site.profile Site.profile.org$(date +%d%m%y) &&
tar axvf %EPICS_DOWNLOAD_DIR%/Base/startup/modify.Site.profile.7z &&
mv Site.profile Site.profile.main &&
perl -pi modify.Site.profile.pl Site.profile.main &&
ln -s -s -b Site.profile.wrapper Site.profile && :

}

install_MandatorySoftLinks()
{
cd ${%EPICS_HOME_DIR_NAME%:?"undefined"} &&
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/epicslogin.sh ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epicslogin.sh . || echo "epicslogin.sh" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/fcn_addtopath.bash ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/fcn_addtopath.bash . || echo "fcn_addtopath.bash" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/uniqpaths ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/uniqpaths . || echo "uniqpaths" not available 1>&2
}


install_epicsloginSh && install_SiteProfile && install_MandatorySoftLinks


2.3.1.3 myepicslogin.sh

To simplify it is recommended to create this short script in the <EPICS Home Directory> containing all settings, e.g. myepicslogin.sh and modify it for your needs:
    #!/bin/bash
    myepicslogin_scriptname=myepicslogin.sh
    #set -x -v #uncomment for debugging

    # make sure script is sourced
    if [ ${0##*/} = $myepicslogin_scriptname ]
    then 
      echo script \`${myepicslogin_scriptname}\' has to be sourced, i.e. called with a leading \`. $myepicslogin_scriptname\'
      exit -1
    fi

    unset myepicslogin_scriptname

    . ./epicslogin.sh -v -H <EPICS Home Directory> -B <EPICS Base Directory> -A <Fcn Helper Bin Directory>/fcn_addtobath.bash
   

2.3.1.3.1 To install myepicslogin.sh
Direct Download:
$> cd %EPICSBASE_MYHOMEDIR% && wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/myepicslogin.sh
Replace command line by your own
cd %EPICSBASE_MYHOMEDIR% &&
perl -pi -e 's/^.*epicslogin\.sh -v.*$//g' myepicslogin.sh &&
cd %EPICSBASE_MYHOMEDIR% &&
echo -n -e "myepics_home=$%EPICS_HOME_DIR_NAME% \n" >> myepicslogin.sh&&
echo -n -e " . \$myepics_home/epicslogin.sh -v -H \$myepics_home -B \$myepics_home/base -A \$myepics_home/fcn_addtopath.bash $(basename $%EPICS_HOME_DIR_NAME%) \$* \n\n" >> myepicslogin.sh &&
echo -n -e "unset myepics_home \n" >> myepicslogin.sh&&
cd %EPICSBASE_MYHOMEDIR% && . ./myepicslogin.sh



2.3.2 by hand

At least EPICS_HOST_ARCH has to be defined, which can be done via:
$> echo -n "Enter <Your Host's Architecture>: " && %READ_CMD% EPICS_HOST_ARCH && export EPICS_HOST_ARCH
where <Your Host's Architecture> can be determined via the script Arch (sh script) or EpicsHostArch.pl (perl script) in the directory <EPICS Base Directory>/startup
so that you could also write:
$> export EPICS_HOST_ARCH=$(EpicsHostArch)
Note in addition the other variables mentionend in the README fimale's section Set environment variables.

2.3.3 Compact - environment

install_epicsScript()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epics &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epics ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
&&
%IF_THEN_CMD{CONDITION=" \"$(id -u)\" -eq 0" TASK="ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epics /usr/local/bin "}% %ELSE_CMD{TASK="[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?'undefined'}/bin ] && export PATH=%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin:${PATH}"}% %FI_CMD%
}


install_epicsloginSh()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin || %DIE_CMD% &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epicslogin.sh &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epicslogin.sh ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/fcn_addtopath.bash &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/fcn_addtopath.bash ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/uniqpaths &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/uniqpaths ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
}

install_SiteProfile()
{
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/Base/startup &&
cd %EPICS_DOWNLOAD_DIR%/Base/startup &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/modify.Site.profile.7z &&
cd ${EPICS_HOME:?"undefined"}/base/startup &&
[ -f Site.profile ] &&
{
ls ${installDir} | grep -q Site.profile.org; &&
if [ 0 -eq $? ];
then
mv $(ls -tr1 Site.profile.org.* | head -n 1 | xargs) Site.profile;
fi } &&
cp -i Site.profile Site.profile.org$(date +%d%m%y) &&
tar axvf %EPICS_DOWNLOAD_DIR%/Base/startup/modify.Site.profile.7z &&
mv Site.profile Site.profile.main &&
perl -pi modify.Site.profile.pl Site.profile.main &&
ln -s -s -b Site.profile.wrapper Site.profile && :

}

install_MandatorySoftLinks()
{
cd ${%EPICS_HOME_DIR_NAME%:?"undefined"} &&
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/epicslogin.sh ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epicslogin.sh . || echo "epicslogin.sh" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/fcn_addtopath.bash ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/fcn_addtopath.bash . || echo "fcn_addtopath.bash" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/uniqpaths ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/uniqpaths . || echo "uniqpaths" not available 1>&2
}

install_myepicslogins.sh()
{
cd %EPICSBASE_MYHOMEDIR% && wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/myepicslogin.sh &&
cd %EPICSBASE_MYHOMEDIR% &&
perl -pi -e 's/^.*epicslogin\.sh -v.*$//g' myepicslogin.sh &&
cd %EPICSBASE_MYHOMEDIR% &&
echo -n -e "myepics_home=$%EPICS_HOME_DIR_NAME% \n" >> myepicslogin.sh&&
echo -n -e " . \$myepics_home/epicslogin.sh -v -H \$myepics_home -B \$myepics_home/base -A \$myepics_home/fcn_addtopath.bash $(basename $%EPICS_HOME_DIR_NAME%) \$* \n\n" >> myepicslogin.sh &&
echo -n -e "unset myepics_home \n" >> myepicslogin.sh&&
cd %EPICSBASE_MYHOMEDIR% && . ./myepicslogin.sh
}

install_epicsScript && install_epicsloginSh && install_SiteProfile && install_MandatorySoftLinks && install_myepicslogins.sh

2.3.4 additional variables PVT (see Site.profile)


The following private variables ("PVTs") can be set and are if existent included in the search paths by the script Site.profile:
  • # Allow private versions of extensions with or without a bin subdirectory
    • EPICS_EXTENSIONS_PVT
      • optionally requires existing: ${EPICS_EXTENSIONS_PVT}/bin/${EPICS_HOST_ARCH}
  • # Allow private versions of base
    • EPICS_BASE_PVT
      • requieres existing: ${EPICS_BASE_PVT}/bin/${EPICS_HOST_ARCH} Via those variables private/local versions can be supported


2.4 Compiler settings

If you are using different compilers, CC and CCC have to be modified in the corresponding ${EPICS_BASE}/configure/os directories.
This is triggered by setting %EPICS_GCC_VERSION_GSI_NAME%.
  1. Set %EPICS_VERSION_NAME% (assuming %EPICSBASE_VERSION% to be set)
    export %EPICS_VERSION_NAME%=%EPICSBASE_VERSION%
  2. %CREATE_HOME_EXPORT{CREATE_HOME_EXPORT_LIST="%EPICS_HOME_DIR_NAME%" CREATE_HOME_EXPORT_DIR="home"}%
    $> echo -n "Enter %EPICS_HOME_DIR_DUMMY%: " && %READ_CMD% %EPICS_HOME_DIR_NAME% && export %EPICS_HOME_DIR_NAME%
    (e.g. ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?undefined}/<GSI EPICS OS DIR TREE>/EPICS-<Version> (e.g. EPICS-%EPICSBASE_VERSION%))
  3. $> cd %EPICS_HOME_DIR_NAME% && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  4. Set GSI-Site specific gcc settings:
    $> [ ! -z ${%EPICS_GCC_VERSION_GSI_NAME%} ] &&
    echo 'CC=$(GNU_BIN)/gcc-'${%EPICS_GCC_VERSION_GSI_NAME%} >> ${EPICS_BASE}/configure/os/CONFIG_SITE.${EPICS_HOST_ARCH}.${EPICS_HOST_ARCH}
    $> [ ! -z ${%EPICS_GCC_VERSION_GSI_NAME%} ] &&
    echo 'CCC=$(GNU_BIN)/g++-'${%EPICS_GCC_VERSION_GSI_NAME%} >> ${EPICS_BASE}/configure/os/CONFIG_SITE.${EPICS_HOST_ARCH}.${EPICS_HOST_ARCH}



3 Additional Configuration settings


4 Compile

Setting up the environment
$> cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
Following the instruction the README file, but using GSI make (which is GNU make) type: (+ multicore parallel build)
$> cd $EPICS_BASE && make distclean && make -j 8
Finally to add new paths to PATH etc.
$> cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

4.1 Obstacles


4.2 Compact - Compile

make_epics()
{
cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD) &&
cd $EPICS_BASE && make distclean && make -j 8 &&
cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
}

make_epics



5 All Compact

download_epicsBase()
{
mkdir -p $%EPICS_HOME_DIR_NAME% &&
cd %EPICSBASE_INSTALLDIR% &&
%WHICH_CMD% %BZR_CMD% >/dev/null 2>&1 && %BZR_CMD% checkout --lightweight -r tag:R${%EPICSBASE_VERSION_NAME%}% lp:%EPICSBASE_LAUNCHPAD% base-%EPICSBASE_VERSION%"

%IF_CMD%[ $? -ne 0 ];
then
mkdir -p %EPICSBASE_DOWNLOADPATH% &&
cd %EPICSBASE_DOWNLOADPATH% &&
wget -N %EPICSBASE_DIRECTDOWNLOADADRESS%/%EPICSBASE_TARFILENAME%
&&
cd %EPICSBASE_INSTALLDIR% && tar axvf %EPICSBASE_DOWNLOADPATH%/%EPICSBASE_TARFILENAME%
%FI_CMD% &&
cd %EPICSBASE_INSTALLDIR% &&
groups | grep -q -w epicsadm && chgrp -R epicsadm %EPICSBASE_INSTALLDIR% &&
find %EPICSBASE_INSTALLDIR% -user $(id -n -u) -exec chmod ug+rw {} \;
&&
cd %EPICSBASE_INSTALLDIR% && ln -s base-* base
}


install_epicsScript()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epics &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epics ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
&&
%IF_THEN_CMD{CONDITION=" \"$(id -u)\" -eq 0" TASK="ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epics /usr/local/bin "}% %ELSE_CMD{TASK="[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?'undefined'}/bin ] && export PATH=%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin:${PATH}"}% %FI_CMD%
}


install_epicsloginSh()
{
[ -d ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"} ] && mkdir -p -p ${%EPICS_ALL_EPICS_TOP_DIR_NAME%}/bin || %DIE_CMD% &&
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/epicslogin.sh &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/epicslogin.sh ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/fcn_addtopath.bash &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/fcn_addtopath.bash ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cd %EPICS_DOWNLOAD_DIR%/bin &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/uniqpaths &&
cd ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin &&
cp -i %EPICS_DOWNLOAD_DIR%/bin/uniqpaths ${%EPICS_ALL_EPICS_TOP_DIR_NAME%:?"undefined"}/bin && :
}

install_SiteProfile()
{
mkdir -p ${%EPICS_DOWNLOAD_DIR_NAME%:?"undefined"}/Base/startup &&
cd %EPICS_DOWNLOAD_DIR%/Base/startup &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/modify.Site.profile.7z &&
cd ${EPICS_HOME:?"undefined"}/base/startup &&
[ -f Site.profile ] &&
{
ls ${installDir} | grep -q Site.profile.org; &&
if [ 0 -eq $? ];
then
mv $(ls -tr1 Site.profile.org.* | head -n 1 | xargs) Site.profile;
fi } &&
cp -i Site.profile Site.profile.org$(date +%d%m%y) &&
tar axvf %EPICS_DOWNLOAD_DIR%/Base/startup/modify.Site.profile.7z &&
mv Site.profile Site.profile.main &&
perl -pi modify.Site.profile.pl Site.profile.main &&
ln -s -s -b Site.profile.wrapper Site.profile && :

}

install_MandatorySoftLinks()
{
cd ${%EPICS_HOME_DIR_NAME%:?"undefined"} &&
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/epicslogin.sh ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/epicslogin.sh . || echo "epicslogin.sh" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/fcn_addtopath.bash ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/fcn_addtopath.bash . || echo "fcn_addtopath.bash" not available 1>&2
[ -f ${%EPICS_ALL_EPICS_TOP_DIR_NAME%?:"undefined"}/bin/uniqpaths ] && ln -s $%EPICS_ALL_EPICS_TOP_DIR_NAME%/bin/uniqpaths . || echo "uniqpaths" not available 1>&2
}

install_myepicslogins.sh()
{
cd %EPICSBASE_MYHOMEDIR% && wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsiBase/myepicslogin.sh &&
cd %EPICSBASE_MYHOMEDIR% &&
perl -pi -e 's/^.*epicslogin\.sh -v.*$//g' myepicslogin.sh &&
cd %EPICSBASE_MYHOMEDIR% &&
echo -n -e "myepics_home=$%EPICS_HOME_DIR_NAME% \n" >> myepicslogin.sh&&
echo -n -e " . \$myepics_home/epicslogin.sh -v -H \$myepics_home -B \$myepics_home/base -A \$myepics_home/fcn_addtopath.bash $(basename $%EPICS_HOME_DIR_NAME%) \$* \n\n" >> myepicslogin.sh &&
echo -n -e "unset myepics_home \n" >> myepicslogin.sh&&
cd %EPICSBASE_MYHOMEDIR% && . ./myepicslogin.sh
}


make_epics()
{
cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD) &&
cd $EPICS_BASE && make distclean && make -j 8 &&
cd %EPICSBASE_MYHOMEDIR% && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
}


download_epicsBase && install_epicsScript && install_epicsloginSh && install_SiteProfile && install_MandatorySoftLinks && install_myepicslogins.sh && make_epics


r123 - 2018-09-18 - 09:20:59 - PeterZumbruch


Testing of base installation with makeBaseApp.pl

Example Application

Following the example given in chapter 2 section 2.2 of the EPICS IOC Application Developer's Guide:
  1. Creation of a new IOC Application named <My Example Application>:
    $> mkdir <top>
    $> cd <top>
    $> $EPICS_BASE/bin/${EPICS_HOST_ARCH}/makeBaseApp.pl -t example <My Example Application>
    $> $EPICS_BASE/bin/${EPICS_HOST_ARCH}/makeBaseApp.pl -i -t example <My Example Application>
    $> make
    $> cd iocBoot/ioc<My Example Application>
  2. Starting the IOC:
    (<Target> (e.g.: linux-x86, or ${EPICS_HOST_ARCH}), <My Example Application>, <Top>, <Epics Base Directory> and <User> have been replaced in the output )
    $> ../../bin/<Target>/<My Example Application> st.cmd
        #!../../bin/<target>/<My Example Application>
        ## You may have to change <My Example Application> to something else
        ## everywhere it appears in this file
        < envPaths
        epicsEnvSet(ARCH,"<Target>")
        epicsEnvSet(IOC,"ioc<My Example Application>")
        epicsEnvSet(TOP,"<top>")
        epicsEnvSet(EPICS_BASE,"<Epics Base Directory>")
        cd <top>
        ## Register all support components
        dbLoadDatabase("dbd/<My Example Application>.dbd")
        <My Example Application>_registerRecordDeviceDriver(pdbbase)
        ## Load record instances
        dbLoadTemplate "db/userHost.substitutions"
        dbLoadRecords("db/dbSubExample.db","user=<user>Host")
        ## Set this to see messages from mySub
        #var mySubDebug 1
        cd <top>/iocBoot/ioc<My Example Application>
        iocInit()
        Starting iocInit
        ############################################################################
        ## EPICS R3.14.9 $R3-14-9$ $2007/02/05 16:31:45$
        ## EPICS Base built Aug  6 2007
        ############################################################################
        iocInit: All initialization complete
        ## Start any sequence programs
        #seq sncExample,"user=<user>Host"
        epics>
        
  3. Listing the available PVs:
    epics> dbl
       <user>Host:aiExample
       <user>Host:aiExample1
       ...
       <user>Host:xxxExample
       
  4. Any EPICS client should be able to see those PVs, e.g.:
    $> camonitor <User>Host:aiExample1
       <user>Host:aiExample1        2007-08-09 10:42:00.037941 4 LOW MINOR
       <user>Host:aiExample1        2007-08-09 10:42:01.039624 5
       <user>Host:aiExample1        2007-08-09 10:42:02.041629 6 HIGH MINOR
       

r0 - 1970-01-01 - 00:00:00 - WikiGuest

Extensions

Prerequisites for Extensions

Extensions directory structure

Before installing any kind of extension/application
  • you have to install extensionsTop_YYYYMMDD.tar.gz for version 3.14 and higher

Extensions Top -- (2018-09-21)
The extensionsTop_YYYYMMDD.tar.gz gnuzipped tar file contains the extensions/configure directory, top level Makefile, the src directory and src/Makefile.

The src/Makefile knows all the standard EPICS extensions directory names and can build any that are present in the correct order for dependency resolution. To use an extension with a specific version number in its directory name, edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension. For example:

  • ALH = alh1_2_31

Edit the DIRS definition in the Makefile to change the order of building (the wildcard at the bottom removes any directories that don't exist from the list).

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions
  3. Download the latest version of extensionsTop_YYYYMMDD.tar.gz for EPICS version 3.14 and higher from https://github.com/epics-extensions/extensions (extensions_20120904.tar.gz)
    (versions as of 04 Sep, 2012)
    to the directory $EPICS_DOWNLOAD_DIR/extensions
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Untar and unpack the file to $EPICS_HOME
    (assuming that $EPICS_EXTENSIONS is a sub directory of $EPICS_HOME)
    $> cd $EPICS_HOME && tar axvf $EPICS_DOWNLOAD_DIR/extensions/extensions_20120904.tar.gz
  7. $> cd $EPICS_EXTENSIONS
  8. now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
  9. Initial make
    $> cd $EPICS_EXTENSIONS && make realclean uninstall && make && make install

  • Compact Download address: https://github.com/epics-extensions/extensions
    cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

    [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    mkdir -p $EPICS_DOWNLOAD_DIR/extensions && cd $EPICS_DOWNLOAD_DIR/extensions &&
    wget -N https://github.com/epics-extensions/extensions/archive/extensions_20120904.tar.gz &&
    cd $EPICS_HOME &&
    tar axvf $EPICS_DOWNLOAD_DIR/extensions/extensions_20120904.tar.gz
    cd $EPICS_EXTENSIONS
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    cd $EPICS_EXTENSIONS &&
    make realclean uninstall && make && make install
-- PeterZumbruch - 2018-09-21


optional XMOTIF - X-Motif Settings (05 Nov 2013)

XMotif based applications, like MEDM, ..., the following changes, or something similar MIGHT have to be applied:

Set EPICS variables, if not yet done:
(e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
$> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

now edit the file(s)$EPICS_EXTENSIONS/configure/os/CONFIG_SITE.${EPICS_HOST_ARCH}.${T_A}
|
X11_LIB=/usr/lib 
X11_INC=/usr/include/X11
MOTIF_LIB=/usr/lib
MOTIF_INC=/usr/include | into | %CODE{"makefile"}%  
#X11_LIB=/usr/lib
#X11_INC=/usr/include/X11
#MOTIF_LIB=/usr/lib
#MOTIF_INC=/usr/include |
<br />

T

A


if [ ! -z $EDITOR ];
then
    $EDITOR$EPICS_EXTENSIONS/configure/os/CONFIG_SITE.${EPICS_HOST_ARCH}.${T_A}
else
    echo '$EDITOR' undefined ... exiting;
fi

-- PeterZumbruch - 05 Nov 2013


MSI


ALH - Alarm Handler -- Version: 1.2.33 (26 Aug 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/alh
  3. Download the latest version of alh (version as of 21 May 2013 is 1.2.33)
    from: https://epics.anl.gov/extensions/alh/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/alh
    $> cd $EPICS_DOWNLOAD_DIR/extensions/alh &&
    wget -N https://epics.anl.gov/download/extensions/alh1_2_33.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/alh
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/alh -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/alh/alh1_2_33.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change ALH = alh to ALH = alh1_2_33
    perl -pi -e "s&^ALH = alh.*$&ALH = alh1_2_33&" $EPICS_EXTENSIONS/src/Makefile
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact
Download address: https://epics.anl.gov/extensions/alh/index.php
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/alh
cd $EPICS_DOWNLOAD_DIR/extensions/alh &&
wget -N https://epics.anl.gov/download/extensions/alh1_2_33.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/alh
find $EPICS_DOWNLOAD_DIR/extensions/alh -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/alh/alh1_2_33.tar.gz
perl -pi -e "s&^ALH = alh.*$&ALH = alh1_2_33&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP ALH Users Guide - alh1.2.15 through alh1.2.31 .

-- PeterZumbruch - 26 Aug 2013


CaSnooper - Channel Access Broadcast Monitoring Tool -- Version: 2.1.2.3 (26 Aug 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/caSnooper
  3. Download the latest version of caSnooper (version as of 03 Jul 2013 is 2.1.2.3)
    from: https://epics.anl.gov/extensions/caSnooper/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/caSnooper
    $> cd $EPICS_DOWNLOAD_DIR/extensions/caSnooper &&
    wget -N https://epics.anl.gov/download/extensions/caSnooper2_1_2_3.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/caSnooper
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/caSnooper -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/caSnooper/caSnooper2_1_2_3.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change CASNOOPER = caSnooper to CASNOOPER = caSnooper2_1_2_3
    perl -pi -e "s&^CASNOOPER = caSnooper.*$&CASNOOPER = caSnooper2_1_2_3&" $EPICS_EXTENSIONS/src/Makefile
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact

Download address: https://epics.anl.gov/extensions/caSnooper/index.php
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/caSnooper
cd $EPICS_DOWNLOAD_DIR/extensions/caSnooper &&
wget -N https://epics.anl.gov/download/extensions/caSnooper2_1_2_3.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/caSnooper
find $EPICS_DOWNLOAD_DIR/extensions/caSnooper -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/caSnooper/caSnooper2_1_2_3.tar.gz
perl -pi -e "s&^CASNOOPER = caSnooper.*$&CASNOOPER = caSnooper2_1_2_3&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP CASNOOPER User Guide.

-- PeterZumbruch - 26 Aug 2013


EZCA - E-Z (Easy) Channel Access)

$ EPICS EZCA website states ::
EZCA was originaly designed to provide a simplified interface to Channel Access, intended for C programs which do not need all the capabilities of the full API. In practice though if you have problems getting code to work that uses EZCA or if you get unexplained failures or crashes, you will get less help from the EPICS community in debugging the issue than you will if you use the native CA API. The CA API is not hard to use, and EZCA is not maintained as aggressively as the underlying CA library.

Therefore obsolete (see versions prior to 184 for documentation on this topic)

PEZCA

Still supported by author but based on EZCA, therefore obsolete (see versions prior to 184 for documentation on this topic)

EDM Extensible Display Manager -- Version: 1-12-85 (13 Mar 2013)

Not yet working

Prerequisites

  • Needs GIF and PNG libraries installed
    [ -f /usr/include/gif_lib.h ] || echo install GIF

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/edm
  3. Download the latest version of edm (version as of 13 Dec 2012 is 1-12-85)
    from: http://ics-web.sns.ornl.gov/edm/
    to the directory $EPICS_DOWNLOAD_DIR/extensions/edm
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/edm
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/edm -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/edm/edm-1-12-85.tgz
  8. By default XRTgraph is not supported:
    $> perl -pi -e "s|^(XRTGRAPH.*)$|#\1|g;s|^#\s*(SCIPLOT.*)|\1|g" $EPICS_EXTENSIONS/configure/os/CONFIG_SITE.$EPICS_HOST_ARCH.$EPICS_HOST_ARCH
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src/edm && make

Compact

Download address: http://ics-web.sns.ornl.gov/edm/
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/edm
cd $EPICS_DOWNLOAD_DIR/extensions/edm &&
wget -N -O edm-1-12-85.tgz http://ics-web.sns.ornl.gov/edm/info/getAttachment.php?attachId=321&name=/edm-1-12-85.tgz&type=application/x-gzip&size=2663593&mon=Jul&theDay=8&year=2009
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/edm
find $EPICS_DOWNLOAD_DIR/extensions/edm -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/edm/edm-1-12-85.tgz
perl -pi -e "s|^(XRTGRAPH.*)$|#\1|g;s|^#\s*(SCIPLOT.*)|\1|g" $EPICS_EXTENSIONS/configure/os/CONFIG_SITE.$EPICS_HOST_ARCH.$EPICS_HOST_ARCH
cd $EPICS_EXTENSIONS/src/edm && make

Postrequisites

Unlike most other EPICS extensions, edm requires additional configuration after installation. See chapter 3 of the User Manual before attempting to execute edm

Documentation

TIP EDM User Guide.

-- PeterZumbruch - 13 Mar 2013


MEDM - Motif Editor and Display Manager -- Version: 3.1.7 (13 Mar 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/medm
  3. Download the latest version of MEDM - Motif Editor and Display Manager (version as of 22 Jun 2012 is 3.1.7)
    from: https://epics.anl.gov/extensions/medm/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/medm
    $> cd $EPICS_DOWNLOAD_DIR/extensions/medm &&
    wget -N https://epics.anl.gov/download/extensions/medm3_1_7.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/medm
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/medm -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/medm/medm3_1_7.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change MEDM = medm to MEDM = medm3_1_7
    $> perl -pi -e "s&^MEDM = medm.*$&MEDM = medm3_1_7&" $EPICS_EXTENSIONS/src/Makefile
  9. By default XRTgraph is not supported:
    $> perl -pi -e "s|^(XRTGRAPH.*)$|#\1|g;s|^#\s*(SCIPLOT.*)|\1|g" $EPICS_EXTENSIONS/configure/os/CONFIG_SITE.$EPICS_HOST_ARCH.$EPICS_HOST_ARCH
  10. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact

Download address: https://epics.anl.gov/extensions/medm/index.php

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/medm
cd $EPICS_DOWNLOAD_DIR/extensions/medm &&
wget -N https://epics.anl.gov/download/extensions/medm3_1_7.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/medm
find $EPICS_DOWNLOAD_DIR/extensions/medm -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src &&
tar axvf $EPICS_DOWNLOAD_DIR/extensions/medm/medm3_1_7.tar.gz
perl -pi -e "s&^MEDM = medm.*$&MEDM = medm3_1_7&" $EPICS_EXTENSIONS/src/Makefile
perl -pi -e "s|^(XRTGRAPH.*)$|#\1|g;s|^#\s*(SCIPLOT.*)|\1|g" $EPICS_EXTENSIONS/configure/os/CONFIG_SITE.$EPICS_HOST_ARCH.$EPICS_HOST_ARCH
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP MEDM Reference Manual.

-- PeterZumbruch - 13 Mar 2013


VDCT - Visual Database Construction Tool -- (14 Mar 2013)

VDCT - Visual Database Construction Tool

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. Download the latest distribution of VDCT here http://visualdct.sourceforge.net.
  3. Unzip the file and move the created directory to $EPICS_EXTENSIONS/programs/ .
  4. Now you have to include the path of the VisualDCT.jar file into the CLASSPATH variable. You can also set a variable with the search path for .db and .dbd files, or for storing configuration data. For more information on environment variables see chapter 3 in the manual. It is brought with the distribution at vdct/2.5.1271/doc/MAN-VisualDCT_Users_Manual.html .
  5. Download VisualDCT here and move file to $EPICS_EXTENSIONS/bin/ .
  6. Change the file permissions of VisualDCT. Type chmod a+x VisualDCT .
  7. Run the program by calling VisualDCT or type java -jar VisualDCT.jar in the EPICS/extensions/src/ directory.
-- MartinFeldmann - 30 Oct 2006
-- PeterZumbruch - 10 Nov 2008


Channel Archiver -- Version: 2.9.2 (12 September 2008)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver
  3. Download the latest version of Channel Archiver (version as of August 29th, 2006 is 2.9.2)
    from: http://ics-web.sns.ornl.gov/kasemir/archiver
    to the directory $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver
    $> cd $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver &&
    wget -N http://ics-web.sns.ornl.gov/kasemir/archiver/archiver.tgz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver/archiver.tgz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change CHANNELARCHIVER = ChannelArchiver to CHANNELARCHIVER = ChannelArchiver
    perl -pi -e "s&^CHANNELARCHIVER = ChannelArchiver.*$&CHANNELARCHIVER = ChannelArchiver&" $EPICS_EXTENSIONS/src/Makefile
  9. To adopt for new compiler standards (gcc 4.7.2) the following patch (ChannelArchiver patch file to adopt for gcc4.7.2 (and wheezy7.4) (F.Uhlig)) has to be downloaded and applied
    cd $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver &&
    wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/patch.ChannelArchiver.wheezy74_gcc472 &&
    cd $EPICS_EXTENSIONS/src/ChannelArchiver && patch --strip=1 --input=$EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver/patch.ChannelArchiver.wheezy74_gcc472
  10. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make
  11. Finally (at GSI) you may have to extend the LD_LIBRARY_PATH by /usr/local/bin to run the executables
    $> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/bin

Compact

Download address: http://ics-web.sns.ornl.gov/kasemir/archiver

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver
cd $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver &&
wget -N http://ics-web.sns.ornl.gov/kasemir/archiver/archiver.tgz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver
find $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver/archiver.tgz
perl -pi -e "s&^CHANNELARCHIVER = ChannelArchiver.*$&CHANNELARCHIVER = ChannelArchiver&" $EPICS_EXTENSIONS/src/Makefile

cd $EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver &&
wget -N --no-check-certificate https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/patch.ChannelArchiver.wheezy74_gcc472 &&
cd $EPICS_EXTENSIONS/src/ChannelArchiver && patch --strip=1 --input=$EPICS_DOWNLOAD_DIR/extensions/ChannelArchiver/patch.ChannelArchiver.wheezy74_gcc472

cd $EPICS_EXTENSIONS/src && make
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/bin

Documentation

TIP Channel Archiver Manual.

Postrequisites

Xerces-C++ XML Parser -- Version: 2.7 (22 Aug 2014)

Channel Archiver 2.9.2 explicitly requires libxerces-c.so.27: or less:
  • Test after installing Channel Archiver e.g. ArchiveEngine
    $> ArchiveEngine

    If you receive an error similar to:
    ArchiveEngine: error while loading shared libraries: libxerces-c.so.27: cannot open shared object file: No such file or directory
    ...OR
  • your current version (i.e. 3.1) is to NEW that XML parsing produces errors, when parsing an automatically converted/genereated script

Then you might have to install yourself xerces-c
HELP
the sub directory "ThirdParty" contains all resources needed for this but only version 2.4 or you try downloading _2.7: from the original web-site

  1. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/lib/xerces
  2. Download the matching version 2.7 of Xerces-C
    from: http://xerces.apache.org/xerces-c/download.cgi
    to the directory $EPICS_DOWNLOAD_DIR/lib/xerces
  3. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/lib/xerces
  4. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/lib/xerces -user $(id -n -u) -exec chmod ug+rw {} \;
  5. Depending whether you have root privileges or not you now either install to the standard library paths of your system or to you private path. (All possible caveats and pitfalls of private libraries included)
    Anyhow assuming the private version the install path will be $EPICS_HOME/programs.
  6. Create install directory, if necessary:
    $> mkdir -p $EPICS_HOME/programs
  7. Untar and unpack the file to $EPICS_HOME/programs
    $> cd $EPICS_HOME/programs && tar axvf $EPICS_DOWNLOAD_DIR/lib/xerces/xerces-c-src_2_7_0.tar.gz
  8. Set necessary exports to xerces-c src directory:
    $> export XERCESCROOT=$EPICS_DOWNLOAD_DIR/lib/xerces/xerces-c-src_2_7_0/src/xercesc
  9. Change to new directory:
    $> cd $XERCESCROOT
  10. Run runConfigure (runConfigure w/o any options gives an overview of possible options)
    $> ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread -P$EPICS_HOME/programs
  11. Make
    $> make
  12. Make
    $> make install
  13. Attach $EPICS_HOME/programs/lib to LD_LIBRARY_PATH
    $> LD_LIBRARY_PATH=$EPICS_HOME/programs/lib:$LD_LIBRARY_PATH

Compact

Download address: http://xerces.apache.org/xerces-c/download.cgi

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

mkdir -p $EPICS_DOWNLOAD_DIR/lib/xerces
cd $EPICS_DOWNLOAD_DIR/lib/xerces &&
wget -N http://archive.apache.org/dist/xml/xerces-c/Xerces-C_2_7_0/source/xerces-c-src_2_7_0.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/lib/xerces
find $EPICS_DOWNLOAD_DIR/lib/xerces -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_HOME/programs
cd $EPICS_DOWNLOAD_DIR/lib/xerces/Xerces-C_2_7_0
export XERCESCROOT=$EPICS_DOWNLOAD_DIR/lib/xerces/Xerces-C_2_7_0
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread -P$EPICS_HOME/programs
make
make install
LD_LIBRARY_PATH=$EPICS_HOME/programs/lib:$LD_LIBRARY_PATH

-- PeterZumbruch - 12 September 2008

Probe -- Version: 1_1_7_1 (14 Mar 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/PROBE
  3. Download the latest version of probe (version as of 24 Jan 2013 is 1_1_7_1)
    from: https://epics.anl.gov/extensions/probe/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/PROBE
    $> cd $EPICS_DOWNLOAD_DIR/extensions/PROBE &&
    wget -N https://epics.anl.gov/download/extensions/probe1_1_7_1.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/PROBE
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/PROBE -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/PROBE/probe1_1_7_1.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change PROBE = probe to PROBE = probe1_1_7_1
    perl -pi -e "s&^PROBE = probe.*$&PROBE = probe1_1_7_1&" $EPICS_EXTENSIONS/src/Makefile
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact
Download address: https://epics.anl.gov/extensions/probe/index.php

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/PROBE
cd $EPICS_DOWNLOAD_DIR/extensions/PROBE &&
wget -N https://epics.anl.gov/download/extensions/probe1_1_7_1.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/PROBE
find $EPICS_DOWNLOAD_DIR/extensions/PROBE -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/PROBE/probe1_1_7_1.tar.gz
perl -pi -e "s&^PROBE = probe.*$&PROBE = probe1_1_7_1&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP Probe demo in Flash.

-- PeterZumbruch - 14 Mar 2013


SDDS Toolkit - Self-Describing Data Sets analysis package -- Version: 3.1 (23 Sep 2013)

  • SDDSlibraries and headers are just used for other extensions
    • Therefore (since it does not compile) the SDDSaps sub directories are not included in the make process

Prerequisites

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/SDDS
  3. Download the latest version of SDDS (version as of 7 Aug 2013 is 3.1)
    from: http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/oagPackages.shtml
    to the directory $EPICS_DOWNLOAD_DIR/extensions/SDDS
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDS
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/SDDS -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Download the latest version of defns.rpn
    from: http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/oagPackages.shtml
    to the directory $EPICS_DOWNLOAD_DIR/extensions/SDDS
  7. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDS
  8. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/SDDS -user $(id -n -u) -exec chmod ug+rw {} \;
  9. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  10. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/SDDS/SDDS.3.1.tar.gz
  11. Since the tarfile contains all from a - not needed - epics tree, the SDDS Directory has to be moved up to $EPICS_EXTENSIONS/src
    cd $EPICS_EXTENSIONS/src/epics/extensions/src &&
    mv SDDS $EPICS_EXTENSIONS/src &&
    cd $EPICS_EXTENSIONS/src &&
    rm -i -r epics
  12. Copy defns.rpn to $EPICS_EXTENSIONS/src/SDDS
    $> cp -i $EPICS_DOWNLOAD_DIR/extensions/SDDS/defns.rpn $EPICS_EXTENSIONS/src/SDDS
  13. Comment out lines in the Makefile adding sub directories of SDDSaps/sdds* and levmar to the make process
    $> cd $EPICS_EXTENSIONS/src/SDDS && perl -pi.bak -e "s&(SDDSaps/sdds.*)$&#\1&g;s&^(DIRS \+=) (levmar)&\1 #\2&" Makefile
  14. HOST_ARCH = linux-arm, e.g. Rasperry Pi, dreamplug, ...
    1. since version 3.1 lzma ( Added LZMA2 compression support for .xz files ) is included, but the architecture linux-arm is not supported.
      To do so:
      1. open $EPICS_EXTENSIONS/src/SDDS/lzma/Makefile
      2. copy
        "ifeq ($(EPICS_HOST_ARCH),linux-x86)
        USR_CFLAGS_Linux ...
        endif"
        section for linux-x86, defining additional USR_CFLAGS_Linux flags
        and add it as a new linux-arm section at the end of the block
  15. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src/SDDS && RPN_DEFNS=$EPICS_EXTENSIONS/src/SDDS/defns.rpn make

Compact

Download address: http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/oagPackages.shtml

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/SDDS
cd $EPICS_DOWNLOAD_DIR/extensions/SDDS &&
wget -N http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/downloads/SDDS.3.1.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDS
find $EPICS_DOWNLOAD_DIR/extensions/SDDS -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_DOWNLOAD_DIR/extensions/SDDS &&
wget -N http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/downloads//defns.rpn
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDS
find $EPICS_DOWNLOAD_DIR/extensions/SDDS -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/SDDS/SDDS.3.1.tar.gz
cd $EPICS_EXTENSIONS/src/epics/extensions/src &&
mv SDDS $EPICS_EXTENSIONS/src &&
cd $EPICS_EXTENSIONS/src &&
rm -i -r epics

cp -i $EPICS_DOWNLOAD_DIR/extensions/SDDS/defns.rpn $EPICS_EXTENSIONS/src/SDDS &&
cd $EPICS_EXTENSIONS/src/SDDS && perl -pi.bak -e "s&(SDDSaps/sdds.*)$&#\1&g;s&^(DIRS \+=) (levmar)&\1 #\2&" Makefile
if [ ! -z $EDITOR ];
then
    $EDITOR $EPICS_EXTENSIONS/src/SDDS/lzma/Makefile
else
    echo '$EDITOR' undefined ... exiting;
fi &&
cd $EPICS_EXTENSIONS/src/SDDS && RPN_DEFNS=$EPICS_EXTENSIONS/src/SDDS/defns.rpn make

Documentation

TIP Accelerator Operations & Physics Software Documentation.


SDDSepics -- Version: 3.1 (26 Aug 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/SDDSepics
  3. Download the latest version of SDDSepics (version as of 28 May 2013 is 3.1)
    from: http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/oagPackages.shtml
    to the directory $EPICS_DOWNLOAD_DIR/extensions/SDDSepics
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDSepics
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/SDDSepics -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/SDDSepics/SDDSepics.3.1.tar.gz
  8. Since the tarfile contains all from a - not needed - epics tree, the SDDS Directory has to be moved up to $EPICS_EXTENSIONS/src
    cd $EPICS_EXTENSIONS/src/epics/extensions/src &&
    mv SDDSepics oagca $EPICS_EXTENSIONS/src &&
    cd $EPICS_EXTENSIONS/src &&
    rm -i -r epics
  9. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change SDDSEPICS = SDDSepics to SDDSEPICS = SDDSepics
    perl -pi -e "s&^SDDSEPICS = SDDSepics.*$&SDDSEPICS = SDDSepics&" $EPICS_EXTENSIONS/src/Makefile
  10. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact

Download address: http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/oagPackages.shtml


[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/SDDSepics
cd $EPICS_DOWNLOAD_DIR/extensions/SDDSepics &&
wget -N http://www.aps.anl.gov/Accelerator_Systems_Division/Operations_Analysis/downloads//SDDSepics.3.1.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/SDDSepics
find $EPICS_DOWNLOAD_DIR/extensions/SDDSepics -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/SDDSepics/SDDSepics.3.1.tar.gz
cd $EPICS_EXTENSIONS/src/epics/extensions/src &&
mv SDDSepics oagca $EPICS_EXTENSIONS/src &&
cd $EPICS_EXTENSIONS/src &&
rm -i -r epics

perl -pi -e "s&^SDDSEPICS = SDDSepics.*$&SDDSEPICS = SDDSepics&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP Accelerator Operations & Physics Software Documentation.


Burt - Backup and Restore Tool -- Version: 20130124 (24 Sep 2013)

Prerequisites

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/burt
  3. Download the latest version of burt (version as of 24 Jan 2013 is 20130124)
    from: https://epics.anl.gov/extensions/burt/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/burt
    $> cd $EPICS_DOWNLOAD_DIR/extensions/burt &&
    wget -N https://epics.anl.gov/download/extensions/burt_20130124.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/burt
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/burt -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/burt/burt_20130124.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change BURT = burt to BURT = burt_20130124
    perl -pi -e "s&^BURT = burt.*$&BURT = burt_20130124&" $EPICS_EXTENSIONS/src/Makefile
  9. For compiler versions of gcc newer than 3.3.5, the meanwhile removed option -fno-const-strings is unknown to the compiler. Therefore the Makefile has to be edited to comment out the following line :
    USR_CXXFLAGS_Linux = -fno-const-strings
    so you have to change
    cd $EPICS_EXTENSIONS/src/burt_20130124 &&
    perl -pi.bak -e "s|^(USR_CXXFLAGS_Linux\s*=\s*-fno-const-strings)|#\1|g" Makefile
  10. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact

Download address: https://epics.anl.gov/extensions/burt/index.php

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/burt
cd $EPICS_DOWNLOAD_DIR/extensions/burt &&
wget -N https://epics.anl.gov/download/extensions/burt_20130124.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/burt
find $EPICS_DOWNLOAD_DIR/extensions/burt -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/burt/burt_20130124.tar.gz
perl -pi -e "s&^BURT = burt.*$&BURT = burt_20130124&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src/burt_20130124 &&
perl -pi.bak -e "s|^(USR_CXXFLAGS_Linux\s*=\s*-fno-const-strings)|#\1|g" Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP BURT: Back Up and Restore Tool .

-- PeterZumbruch - 24 Sep 2013


CASR - Channel Access Save Restore -- Version: 20091027 (13 Mar 2013)

Prerequisites

  • Needs - optionally (default) - SDDS

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/CASR
  3. Download the latest version of casr (version as of 27 Oct 2009 is 20091027)
    from: https://epics.anl.gov/extensions/casr/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/CASR
    $> cd $EPICS_DOWNLOAD_DIR/extensions/CASR &&
    wget -N https://epics.anl.gov/download/extensions/casr_20091027.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/CASR
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/CASR -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/CASR/casr_20091027.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change CASR = casr to CASR = casr_20091027
    perl -pi -e "s&^CASR = casr.*$&CASR = casr_20091027&" $EPICS_EXTENSIONS/src/Makefile
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact
Download address: https://epics.anl.gov/extensions/casr/index.php

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/CASR
cd $EPICS_DOWNLOAD_DIR/extensions/CASR &&
wget -N https://epics.anl.gov/download/extensions/casr_20091027.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/CASR
find $EPICS_DOWNLOAD_DIR/extensions/CASR -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/CASR/casr_20091027.tar.gz
perl -pi -e "s&^CASR = casr.*$&CASR = casr_20091027&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP CASR User Guide.

-- PeterZumbruch - 13 Mar 2013


Strip Tool - Strip-chart plotting tool -- Version: 2.5.15.0 (23 Sep 2013)

Prerequisites

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/StripTool
  3. Download the latest version of StripTool (version as of 22 Jun 2012 is 2.5.15.0)
    from: https://epics.anl.gov/extensions/StripTool/index.php
    to the directory $EPICS_DOWNLOAD_DIR/extensions/StripTool
    $> cd $EPICS_DOWNLOAD_DIR/extensions/StripTool &&
    wget -N https://epics.anl.gov/download/extensions/StripTool2_5_15_0.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/StripTool
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/StripTool -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Having followed the instructions for the Prerequisites for Extensions you should have in your (= $EPICS_EXTENSIONS) a subdirectory src.
  7. Untar and unpack the file to $EPICS_EXTENSIONS/src
    $> cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/StripTool/StripTool2_5_15_0.tar.gz
  8. Adopt make settings in $EPICS_EXTENSIONS/src/Makefile :
      Edit the assignment statement so the right hand side of the assignment exactly matches the name of the subdirectory containing that extension.
        Change STRIPTOOL = StripTool to STRIPTOOL = StripTool2_5_15_0
    perl -pi -e "s&^STRIPTOOL = StripTool.*$&STRIPTOOL = StripTool2_5_15_0&" $EPICS_EXTENSIONS/src/Makefile
  9. Run make in the top-level directory:
    $> cd $EPICS_EXTENSIONS/src && make

Compact

Download address: STRIPTOOL%_DOWNLOADADRESS%

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/StripTool
cd $EPICS_DOWNLOAD_DIR/extensions/StripTool &&
wget -N https://epics.anl.gov/download/extensions/StripTool2_5_15_0.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/StripTool
find $EPICS_DOWNLOAD_DIR/extensions/StripTool -user $(id -n -u) -exec chmod ug+rw {} \;
cd $EPICS_EXTENSIONS/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/StripTool/StripTool2_5_15_0.tar.gz
perl -pi -e "s&^STRIPTOOL = StripTool.*$&STRIPTOOL = StripTool2_5_15_0&" $EPICS_EXTENSIONS/src/Makefile
cd $EPICS_EXTENSIONS/src && make

Documentation

TIP Strip Tool User Guide.

-- PeterZumbruch - 23 Sep 2013


Archive Viewer - Java-based archive data viewer (SNS)


CaOctave - CA interface for Octave


WebCA - Channel Access web browser plug-in (CosyLab)


more Extensions: To check whether to be installed

Standalone CA Clients

  • CAEX: Channel Access Examples
  • CAU: Channel Access Utility
  • Channel Archiver (SNS)
  • Channel Watcher (SLAC)
  • JoiMint: Java Operator Interface and Management INtegration Toolkit (DESY)
  • NAL: Nagios ALarm Handler (INFN)
  • Probe: Motif Channel Monitoring program

CA Server tools

  • CAS: Channel Access Server Library
  • CaSnooper: Channel Access Broadcast Monitoring Tool
  • JCAS: Pure Java Channel Access Server (Cosylab)
  • Gateway: Process Variable Gateway

CA Interfaces to other tools and languages

  • C/C++
    • EZCA: Easy Channel Access interface library for C programs
    • EzcaScan: Easy Channel Access for arrays of channels
    • SCA: Simple Channel Access (LBL/ALS)
  • Java
    • CAJ: Pure Java Channel Access Client (Cosylab)
    • JCA: Channel Access client for Java using JNI (Cosylab) (APS/BCDA)
  • Matlab/Octave/Scilab
    • MCA: Channel Access client library for Matlab (SNS)
    • LabCA: Matlab & Scilab interface to Channel Access (SLAC)
  • Perl
    • CAP5: Channel Access for Perl5
    • PEZCA: Another CA interface to Perl using EZCA (BESSY)
  • Python
  • Other
    • CAML: Channel Access Markup Language (ORNL)
    • IDL: CA client libraries and scripts for IDL via EZCA
    • LabVIEW: CA Client and Shared Memory interface to IOC (SNS)
    • PHP_EPICS: CA interface for PHP-based web applications (SLS)
    • SDDS: The Self-Describing Data Sets analysis package
    • WebCA: Channel Access web browser plug-in (CosyLab)

IOC Database Management Tools

  • dbVerbose: Verbose database filter
  • GDCT: Graphical Database Configuration Tool (deprecated)
  • MSI: Macro Substitution and Include tool
  • VDCT: Visual Database Configuration Tool

Other Tools or Libraries

  • CAPutLog: Facility for logging CA puts to an IOC (DESY)
  • CMLOG: Common Message Logging System (JLAB)
  • EdlBuild: Create EDM screens in Perl scripts (TRIUMF)
  • gnuregex: The GNU regex library built with EPICS Makefiles
  • mButton: General Purpose Motif Button
  • Namecapture: Motif Drag & drop support
  • ParseCASW: CA Beacon anomaly diagnostic tool
  • PViewer: Python 1D and 2D data viewer
  • SGA: Simple GIF Animator
  • TS: The R3.13 timestamp library for use with R3.14
  • WiresharkCA: CA plug-in for Wireshark (KEK)
-- PeterZumbruch - 06 Oct 2009

Other Tools or Libraries

procServ - Process Server with Telnet Console and Log Access -- Version: 2.6.0 (25 Sep 2013)

Linux Distributions

procServ is part of official Linux distributions:

Debian/Ubuntu
aptitude install procserv
Fedora/RHEL
yum install procServ

If you are using different versions try the following local installation

Local Installation

... procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)" style="display:inline" onClick="toggleVisibility('Installation procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','block'); doubleToggleVisibility('expand_span procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','inline','retract_span procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','inline')" class='TMLhtml' > (Click to expand the detailed description) Click to expand procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)" style="display:none" onClick="toggleVisibility('Installation procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','block'); doubleToggleVisibility('expand_span procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','inline','retract_span procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)','inline')" class='TMLhtml' > (Click to retract) Click to retract

procServ - Process Server with Telnet Console and Log Access Version: 2.6.0 (25 Sep 2013)" style="display:none; border:thin dashed grey; margin-left:4em; padding:0.5ex" class='TMLhtml' >

Local Installation

  1. Since procServ is independent of EPICS versions it is not installed in $EPICS_EXTENSIONS but in $EPICS_PROGRAMS_DIR.
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    $> export EPICS_PROGRAMS_DIR=
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/programs/procServ
  3. Download the latest version of procServ (version as of 2012-10-03 is 2.6.0)
    from: http://sourceforge.net/projects/procserv
    to the directory $EPICS_DOWNLOAD_DIR/programs/procServ
    $> cd $EPICS_DOWNLOAD_DIR/programs/procServ &&
    wget -N http://sourceforge.net/projects/procserv/files/2.6.0/procServ-2.6.0.tar.gz/download
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/programs/procServ
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/programs/procServ -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_PROGRAMS_DIR/procServ
  7. Untar and unpack the file to $EPICS_PROGRAMS_DIR/procServ
    $> cd $EPICS_PROGRAMS_DIR/procServ && tar axvf $EPICS_DOWNLOAD_DIR/programs/procServ/procServ-2.6.0.tar.gz
  8. Run make in the top-level directory:
    $> cd $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0 && make
  9. Create symbolic link in $EPICS_PROGRAMS_DIR/bin to executable
    $> cd $EPICS_PROGRAMS_DIR/bin &&
    [ -x $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0/procServ ] &&
    ln -s $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0/procServ $EPICS_PROGRAMS_DIR/bin
Compact
Download address: http://sourceforge.net/projects/procserv

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
export EPICS_PROGRAMS_DIR=

mkdir -p $EPICS_DOWNLOAD_DIR/programs/procServ
cd $EPICS_DOWNLOAD_DIR/programs/procServ &&
wget -N http://sourceforge.net/projects/procserv/files/2.6.0/procServ-2.6.0.tar.gz/download
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/programs/procServ
find $EPICS_DOWNLOAD_DIR/programs/procServ -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_PROGRAMS_DIR/procServ
cd $EPICS_PROGRAMS_DIR/procServ && tar axvf $EPICS_DOWNLOAD_DIR/programs/procServ/procServ-2.6.0.tar.gz
cd $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0 && make
cd $EPICS_PROGRAMS_DIR/bin &&
[ -x $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0/procServ ] &&
ln -s $EPICS_PROGRAMS_DIR/procServ/procServ-2.6.0/procServ $EPICS_PROGRAMS_DIR/bin

Documentation

-- PeterZumbruch - 25 Sep 2013


GSL - GNU Scientific Library -- Version: 1.15 (14 Mar 2012)

Installation

... GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)" style="display:inline" onClick="toggleVisibility('Installation GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','block'); doubleToggleVisibility('expand_span GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','inline','retract_span GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','inline')" class='TMLhtml' > (Click to expand the detailed description) Click to expand GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)" style="display:none" onClick="toggleVisibility('Installation GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','block'); doubleToggleVisibility('expand_span GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','inline','retract_span GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)','inline')" class='TMLhtml' > (Click to retract) Click to retract

GSL - GNU Scientific Library Version: 1.15 (14 Mar 2012)" style="display:none; border:thin dashed grey; margin-left:4em; padding:0.5ex" class='TMLhtml' >

Installation

  1. Since gsl is independent of EPICS versions it is not installed in $EPICS_EXTENSIONS but in $EPICS_PROGRAMS_DIR.
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    $> export EPICS_PROGRAMS_DIR=
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/extensions/gsl
  3. Download the latest version of gsl (version as of 6 May, 2011 is 1.15)
    from: http://www.gnu.org/software/gsl
    to the directory $EPICS_DOWNLOAD_DIR/extensions/gsl
    $> cd $EPICS_DOWNLOAD_DIR/extensions/gsl &&
    wget -N ftp://ftp.gnu.org/gnu/gsl/gsl_1.15.tar.gz/download
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/gsl
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/extensions/gsl -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_EXTENSIONS/gsl/src
  7. Untar and unpack the file to $EPICS_EXTENSIONS/gsl/src
    $> cd $EPICS_EXTENSIONS/gsl/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/gsl/gsl-1.15.tar.gz
  8. Run make in the top-level directory:
    $> cd $EPICS_PROGRAMS_DIR/gsl/gsl-1.15 && make
  9. Create symbolic link in $EPICS_PROGRAMS_DIR/bin to executable
    $> cd $EPICS_PROGRAMS_DIR/bin &&
    [ -x $EPICS_PROGRAMS_DIR/gsl/gsl-1.15/gsl ] &&
    ln -s $EPICS_PROGRAMS_DIR/gsl/gsl-1.15/gsl $EPICS_PROGRAMS_DIR/bin
Compact
Download address: http://www.gnu.org/software/gsl

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
export EPICS_PROGRAMS_DIR=

mkdir -p $EPICS_DOWNLOAD_DIR/extensions/gsl
cd $EPICS_DOWNLOAD_DIR/extensions/gsl &&
wget -N ftp://ftp.gnu.org/gnu/gsl/gsl_1.15.tar.gz/download
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/extensions/gsl
find $EPICS_DOWNLOAD_DIR/extensions/gsl -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_EXTENSIONS/gsl/src
cd $EPICS_EXTENSIONS/gsl/src && tar axvf $EPICS_DOWNLOAD_DIR/extensions/gsl/gsl-1.15.tar.gz
cd $EPICS_PROGRAMS_DIR/gsl/gsl-1.15 && make
cd $EPICS_PROGRAMS_DIR/bin &&
[ -x $EPICS_PROGRAMS_DIR/gsl/gsl-1.15/gsl ] &&
ln -s $EPICS_PROGRAMS_DIR/gsl/gsl-1.15/gsl $EPICS_PROGRAMS_DIR/bin

Documentation

-- PeterZumbruch - 14 Mar 2012


Modules

Prerequisites for Modules

Modules directory structure

Mypersonal idea (IMHO) is to have all modules belonging to one branch assigned to the base version, if you object tell me the convincing reasons.
-- PeterZumbruch - 02 Jul 2008

Therefore before installing any kind of module:

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. Create modules directory, if not yet existing:
    $> mkdir -p $EPICS_MODULES

Compact

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_MODULES

-- PeterZumbruch - 04 Jul 2008


EPICS Sequencer -
State Notation Language:
Compiler (snc) and run-time (seq) support Module -- Version: 2.1.16 (04 Apr 2014)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/seq
  3. Download the latest version of seq (version as of 19-Dec-2013 is 2.1.16)
    from: http://www-csr.bessy.de/control/SoftDist/sequencer/Installation.html#download
    to the directory $EPICS_DOWNLOAD_DIR/modules/soft/seq
    $> cd $EPICS_DOWNLOAD_DIR/modules/soft/seq &&
    wget -N http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.16.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/seq
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/soft/seq -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/soft/seq
  7. Untar and unpack the file to $EPICS_MODULES/soft/seq
    $> cd $EPICS_MODULES/soft/seq && tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/seq/seq-2.1.16.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/soft/seq/seq-2.1.16
  9. Following the instructions
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    In CONFIG, either modify CROSS_COMPILER_TARGET_ARCHS or remove it to default to all architectures.
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/soft/seq/seq-2.1.16 && make realclean uninstall && make && make install

Compact
Download address: http://www-csr.bessy.de/control/SoftDist/sequencer/Installation.html#download

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/seq
cd $EPICS_DOWNLOAD_DIR/modules/soft/seq &&
wget -N http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.16.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/seq
find $EPICS_DOWNLOAD_DIR/modules/soft/seq -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/soft/seq
cd $EPICS_MODULES/soft/seq &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/seq/seq-2.1.16.tar.gz


cd $EPICS_MODULES/soft/seq/seq-2.1.16
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/soft/seq/seq-2.1.16 && make realclean uninstall && make && make install

Documentation

  • TIP type
    make docs=1 pdf=1
    → $EPICS_MODULES/soft/seq/html.
  • TIP Have a look at the notes for Building sequencer application for EPICS R3.14.x
  • TIP Documents and manuals can be found in the subdirectory docs of each release.
-- PeterZumbruch - 04 Apr 2014


IPAC Module -- Version: 2.12 (25 Sep 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/ipac
  3. Download the latest version of EPICS Ipac Module (version as of 2013-08-21 is 2.12)
    from: https://svn.aps.anl.gov/trac/epics/ipac
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/ipac
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/ipac &&
    wget -N https://svn.aps.anl.gov/trac/epics/ipac/raw-attachment/wiki/V2.12/ipac-2.12.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/ipac
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/ipac -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/ipac
  7. Untar and unpack the file to $EPICS_MODULES/support/ipac
    $> cd $EPICS_MODULES/support/ipac && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/ipac/ipac-2.12.tar.gz
    (valid for R3.14.9 or later)
  8. $> cd $EPICS_MODULES/support/ipac/ipac-2.12
  9. Following the instructions https://svn.aps.anl.gov/trac/epics/ipac/wiki/V2.11/drvIpac/drvIpac especially the section Installation
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/ipac/ipac-2.12 && make realclean uninstall && make && make install
  11. really optionally:
    If you don't need all of the module drivers included with the distribution, edit the top level $EPICS_MODULES/support/ipac/ipac-2.12/Makefile and comment out the lines mentioning driver directories you don't need.
  12. really optionally:
    Edit the $EPICS_MODULES/support/ipac/ipac-2.12/drvIpac/drvIpac.dbd file to include the set of IPAC Carrier drivers that you will be using at your site. This step can also be performed later by copying the drvIpac.dbd file to an IOC application and modifying it there instead.

Compact

Download address: https://svn.aps.anl.gov/trac/epics/ipac

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/ipac
cd $EPICS_DOWNLOAD_DIR/modules/support/ipac &&
wget -N https://svn.aps.anl.gov/trac/epics/ipac/raw-attachment/wiki/V2.12/ipac-2.12.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/ipac
find $EPICS_DOWNLOAD_DIR/modules/support/ipac -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/ipac
cd $EPICS_MODULES/support/ipac &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/ipac/ipac-2.12.tar.gz


cd $EPICS_MODULES/support/ipac/ipac-2.12
echo set: EPICS_BASE=${EPICS_HOME}/base
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/ipac/ipac-2.12 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - 25 Sep 2013


autosave -- Version: 5-4 (20 Aug 2014)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/autosave
  3. Download the latest version of autosave (version as of 30 Jun 2014 is 5-4)
    from: http://www.aps.anl.gov/bcda/synApps/autosave/autosave.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/autosave
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/autosave &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar//autosave_R5-4.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/autosave
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/autosave -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/autosave
  7. Untar and unpack the file to $EPICS_MODULES/support/autosave
    $> cd $EPICS_MODULES/support/autosave && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/autosave/autosave_R5-4.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/autosave/autosave-5-4
  9. Following the instructions http://www.aps.anl.gov/bcda/synApps/autosave/autosave.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/autosave/autosave-5-4 && make realclean uninstall && make && make install

Compact
Download address: http://www.aps.anl.gov/bcda/synApps/autosave/autosave.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/autosave
cd $EPICS_DOWNLOAD_DIR/modules/support/autosave &&
wget -N http://www.aps.anl.gov/bcda/synApps/tar//autosave_R5-4.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/autosave
find $EPICS_DOWNLOAD_DIR/modules/support/autosave -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/autosave
cd $EPICS_MODULES/support/autosave &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/autosave/autosave_R5-4.tar.gz


cd $EPICS_MODULES/support/autosave/autosave-5-4
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/autosave/autosave-5-4 && make realclean uninstall && make && make install

Documentation


GTR - Generic Transient Recorder -- Version: 2-3 (-- 07 Oct 2013)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/gtr
  3. Download the latest version of gtr (version as of March 2006 is 2-3)
    from: https://epics.anl.gov/modules/analog/gtr/index.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/gtr
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/gtr &&
    wget -N https://epics.anl.gov/download/modules/gtr2-3.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/gtr
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/gtr -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/gtr
  7. Untar and unpack the file to $EPICS_MODULES/support/gtr
    $> cd $EPICS_MODULES/support/gtr && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/gtr/gtr2-3.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/gtr/gtr2-3
  9. Following the instructions https://epics.anl.gov/modules/analog/gtr/index.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE

  1. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/gtr/gtr2-3 && make realclean uninstall && make && make install

Compact

Download address: https://epics.anl.gov/modules/analog/gtr/index.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/gtr
cd $EPICS_DOWNLOAD_DIR/modules/support/gtr &&
wget -N https://epics.anl.gov/download/modules/gtr2-3.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/gtr
find $EPICS_DOWNLOAD_DIR/modules/support/gtr -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/gtr
cd $EPICS_MODULES/support/gtr &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/gtr/gtr2-3.tar.gz

cd $EPICS_MODULES/support/gtr/gtr2-3 &&
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/gtr/gtr2-3 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - -- 07 Oct 2013


asynDriver: Asynchronous Driver Support -- Version: 4.23 (20 Aug 2014)

Prerequisites

Requires module Release requiered  
seq  
IPAC asynDriver provides a driver for the GreenSprings Industry Pack IP488 module and the octalUART. If this support is desired then IPAC support is required when building asynDriver. The configure/RELEASE file has a comment about how to include IPAC support.
*See IPAC for installing IPAC before*, if not yet done.

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/asyn
  3. Download the latest version of asynDriver (version as of 16 June, 2014 is 4.23)
    from: https://epics.anl.gov/modules/soft/asyn
    to the directory $EPICS_DOWNLOAD_DIR/modules/soft/asyn
    $> cd $EPICS_DOWNLOAD_DIR/modules/soft/asyn &&
    wget -N https://epics.anl.gov/download/modules/asyn4-23.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/asyn
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/soft/asyn -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/soft/asyn
  7. Untar and unpack the file to $EPICS_MODULES/soft/asyn
    $> cd $EPICS_MODULES/soft/asyn && tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/asyn/asyn4-23.tar.gz
    (valid for R3.14.12.2 or later)
  8. $> cd $EPICS_MODULES/soft/asyn/asyn4-23
  9. Following the instructions https://epics.anl.gov/modules/soft/asyn
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
  10. Following the instructions https://epics.anl.gov/modules/soft/asyn
    add support paths to configure/RELEASE
    $ Add sequencer (SNCSEQ) path: $EPICS_MODULES/soft/seq/seq-2.1.16
    cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
    if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
           then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
    fi

    $ Add IPAC (IPAC) path: $EPICS_MODULES/support/ipac/ipac-2.12
    cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
    if [ 0 -lt $(grep -w IPAC= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/ipac/ipac-2.12" ];
           then perl -pi -e "s|(^(IPAC=).*$)|#\1\n\2$EPICS_MODULES/support/ipac/ipac-2.12\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(IPAC=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e IPAC=$EPICS_MODULES/support/ipac/ipac-2.12\\n | sed 's/ //g' >> configure/RELEASE;
    fi

    Comment out SUPPORT path
    cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
    perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
    40. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/soft/asyn/asyn4-23 && make realclean uninstall && make && make install

Compact

Download address: https://epics.anl.gov/modules/soft/asyn

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/asyn
cd $EPICS_DOWNLOAD_DIR/modules/soft/asyn &&
wget -N https://epics.anl.gov/download/modules/asyn4-23.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/asyn
find $EPICS_DOWNLOAD_DIR/modules/soft/asyn -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/soft/asyn
cd $EPICS_MODULES/soft/asyn &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/asyn/asyn4-23.tar.gz


cd $EPICS_MODULES/soft/asyn/asyn4-23
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE

cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
if [ 0 -lt $(grep -w IPAC= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/ipac/ipac-2.12" ];
       then perl -pi -e "s|(^(IPAC=).*$)|#\1\n\2$EPICS_MODULES/support/ipac/ipac-2.12\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(IPAC=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e IPAC=$EPICS_MODULES/support/ipac/ipac-2.12\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/soft/asyn/asyn4-23 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;


cd $EPICS_MODULES/soft/asyn/asyn4-23 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - 20 Aug 2014


sscan -- Version: 2-10 (-- 09 Feb 2015)

Prerequisites

Requires module Release tested
seq 2-1-12

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/sscan
  3. Download the latest version of sscan (version as of 12 Sep 2014 is 2-10)
    from: http://www.aps.anl.gov/bcda/synApps/sscan/sscan.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/sscan
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/sscan &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar//sscan_R2-10.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/sscan
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/sscan -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/sscan
  7. Untar and unpack the file to $EPICS_MODULES/support/sscan
    $> cd $EPICS_MODULES/support/sscan && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/sscan/sscan_R2-10.tar.gz
    (valid for R3.14.12.4 or later)
  8. $> cd $EPICS_MODULES/support/sscan/sscan-2-10
  9. Following the instructions http://www.aps.anl.gov/bcda/synApps/sscan/sscan.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    Add support paths to configure/RELEASE $ Add sequencer (SNCSEQ) path: $EPICS_MODULES/soft/seq/seq-2.1.16
    cd $EPICS_MODULES/support/sscan/sscan-2-10 &&
    if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
           then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    $ Comment out SUPPORT path :
    cd $EPICS_MODULES/support/sscan/sscan-2-10 &&
    perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/sscan/sscan-2-10 && make realclean uninstall && make && make install

Compact

Download address: http://www.aps.anl.gov/bcda/synApps/sscan/sscan.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/sscan
cd $EPICS_DOWNLOAD_DIR/modules/support/sscan &&
wget -N http://www.aps.anl.gov/bcda/synApps/tar//sscan_R2-10.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/sscan
find $EPICS_DOWNLOAD_DIR/modules/support/sscan -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/sscan
cd $EPICS_MODULES/support/sscan &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/sscan/sscan_R2-10.tar.gz


cd $EPICS_MODULES/support/sscan/sscan-2-10
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/sscan/sscan-2-10 &&
if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/sscan/sscan-2-10 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;


cd $EPICS_MODULES/support/sscan/sscan-2-10 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - -- 09 Feb 2015


busy -- Version: 1-6 (26 Sep 2013)

Prerequisites

Requires module Release needed
asyn 4.10

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/busy
  3. Download the latest version of busy (version as of 23 May 2013 is 1-6)
    from: http://www.aps.anl.gov/bcda/synApps/busy/busy.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/busy
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/busy &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar//busy_R1-6.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/busy
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/busy -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/busy
  7. Untar and unpack the file to $EPICS_MODULES/support/busy
    $> cd $EPICS_MODULES/support/busy && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/busy/busy_R1-6.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/busy/busy-1-6
  9. Following the instructions http://www.aps.anl.gov/bcda/synApps/busy/busy.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add %%BUSY_SUPPORT_SHORTNAME% (%%BUSY_SUPPORT_KEY%) path: %%BUSY_SUPPORT_TOPLEVELDIR%
      cd $EPICS_MODULES/support/busy/busy-1-6 &&
      if [ 0 -lt $(grep -w %%BUSY_SUPPORT_KEY%= configure/RELEASE | wc -l ) ];
      then if [ -d "%%BUSY_SUPPORT_TOPLEVELDIR%" ];
             then perl -pi -e "s|(^(%%BUSY_SUPPORT_KEY%=).*$)|#\1\n\2%%BUSY_SUPPORT_TOPLEVELDIR%\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(%%BUSY_SUPPORT_KEY%=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e %%BUSY_SUPPORT_KEY%=%%BUSY_SUPPORT_TOPLEVELDIR%\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/busy/busy-1-6 &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/busy/busy-1-6 && make realclean uninstall && make && make install

Compact

Download address: http://www.aps.anl.gov/bcda/synApps/busy/busy.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/busy
cd $EPICS_DOWNLOAD_DIR/modules/support/busy &&
wget -N http://www.aps.anl.gov/bcda/synApps/tar//busy_R1-6.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/busy
find $EPICS_DOWNLOAD_DIR/modules/support/busy -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/busy
cd $EPICS_MODULES/support/busy &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/busy/busy_R1-6.tar.gz


perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/busy/busy-1-6 &&
if [ 0 -lt $(grep -w ASYN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/busy/busy-1-6 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;


cd $EPICS_MODULES/support/busy/busy-1-6 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - 26 Sep 2013


USB Mouse (ASYN) -- Version: 0.3 (-- 07 Oct 2013)

Prerequisites

Requires module Release needed
asyn  

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/usbMouse
  3. Download the latest version of usbMouse (version as of July 12th, 2011 is 0.3)
    from: https://epics.anl.gov/download/modules/index.php
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/usbMouse
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/usbMouse &&
    wget -N https://epics.anl.gov/download/modules/usbMouse-0.3.tar.bz2
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/usbMouse
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/usbMouse -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/usbMouse
  7. Untar and unpack the file to $EPICS_MODULES/support/usbMouse
    $> cd $EPICS_MODULES/support/usbMouse && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/usbMouse/usbMouse-0.3.tar.bz2
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3
  9. Following the instructions
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=\s*).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
      cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 &&
      if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
             then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 && make realclean uninstall && make && make install

Compact

Download address: https://epics.anl.gov/download/modules/index.php

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/usbMouse
cd $EPICS_DOWNLOAD_DIR/modules/support/usbMouse &&
wget -N https://epics.anl.gov/download/modules/usbMouse-0.3.tar.bz2
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/usbMouse
find $EPICS_DOWNLOAD_DIR/modules/support/usbMouse -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/usbMouse
cd $EPICS_MODULES/support/usbMouse &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/usbMouse/usbMouse-0.3.tar.bz2

cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 &&
perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 &&
if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/usbMouse/usbMouse-0.3 && make realclean uninstall && make && make install

Documentation

  • TIP [[][]].
-- PeterZumbruch - -- 07 Oct 2013


modbus (ASYN) -- Version: 2-7 (-- 20 Aug 2014)

Prerequisites

Requires module Release needed
asyn 4.21

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/modbus
  3. Download the latest version of modbus (version as of 19 Aug 2014 is 2-7)
    from: http://cars9.uchicago.edu/software/epics/modbus.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/modbus
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/modbus &&
    wget -N http://cars.uchicago.edu/software/pub/modbusR2-7.tgz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/modbus
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/modbus -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/modbus
  7. Untar and unpack the file to $EPICS_MODULES/support/modbus
    $> cd $EPICS_MODULES/support/modbus && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/modbus/modbusR2-7.tgz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/modbus/modbusR2-7
  9. Following the instructions http://cars9.uchicago.edu/software/epics/modbus.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=\s*).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
      cd $EPICS_MODULES/support/modbus/modbusR2-7 &&
      if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
             then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/modbus/modbusR2-7 &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/modbus/modbusR2-7 && make realclean uninstall && make && make install

Compact

Download address: http://cars9.uchicago.edu/software/epics/modbus.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/modbus
cd $EPICS_DOWNLOAD_DIR/modules/support/modbus &&
wget -N http://cars.uchicago.edu/software/pub/modbusR2-7.tgz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/modbus
find $EPICS_DOWNLOAD_DIR/modules/support/modbus -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/modbus
cd $EPICS_MODULES/support/modbus &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/modbus/modbusR2-7.tgz

cd $EPICS_MODULES/support/modbus/modbusR2-7 &&
perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/modbus/modbusR2-7 &&
if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/modbus/modbusR2-7 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/modbus/modbusR2-7 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - -- 20 Aug 2014


IOC Status and Control (devIocStats) -- Version: 3.1.13 (20 Aug 2014)

Prerequisites

Requires module Release needed
sequencer (optional)  

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/devIocStats
  3. Download the latest version of devIocStats (version as of 13 July 2014 is 3.1.13)
    from: http://www.slac.stanford.edu/comp/unix/package/epics/site/devIocStats/
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/devIocStats
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/devIocStats &&
    wget -N http://sourceforge.net/projects/epics/files/devIocStats/devIocStats-3.1.13.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/devIocStats
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/devIocStats -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/devIocStats
  7. Untar and unpack the file to $EPICS_MODULES/support/devIocStats
    $> cd $EPICS_MODULES/support/devIocStats && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/devIocStats/devIocStats-3.1.13.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13
  9. Following the instructions http://www.slac.stanford.edu/comp/unix/package/epics/site/devIocStats/
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add sequencer (SNCSEQ) path: $EPICS_MODULES/soft/seq/seq-2.1.16
      cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
      if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
             then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out EPICS_MODULES path:
      cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
      perl -pi -e "s|(^(EPICS_MODULES=).*$)|#\1|g" configure/RELEASE;
  10. "If you wish to build the testIocStatsApp test application that comes with this module, define the path for the sequencer in the configure/RELEASE file, uncomment testIocStatsApp in the top level Makefile, and make again. iocBoot/ioctestRTEMS and iocBoot/ioctestSoft have example startup files for running the testIocStats IOC."
    cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
    perl -pi -e 's|^#(DIRS.*testIocStatsApp).*$|\1|' Makefile
  11. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 && make realclean uninstall && make && make install

Compact

Download address: http://www.slac.stanford.edu/comp/unix/package/epics/site/devIocStats/

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/devIocStats
cd $EPICS_DOWNLOAD_DIR/modules/support/devIocStats &&
wget -N http://sourceforge.net/projects/epics/files/devIocStats/devIocStats-3.1.13.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/devIocStats
find $EPICS_DOWNLOAD_DIR/modules/support/devIocStats -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/devIocStats
cd $EPICS_MODULES/support/devIocStats &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/devIocStats/devIocStats-3.1.13.tar.gz

cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
perl -pi -e "s|(^(EPICS_MODULES=).*$)|#\1|g" configure/RELEASE;


cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 &&
perl -pi -e 's|^#(DIRS.*testIocStatsApp).*$|\1|' Makefile

cd $EPICS_MODULES/support/devIocStats/devIocStats-3.1.13 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - 20 Aug 2014


Raspberry Pi: Dallas 1-wire Support (by F.Feldbauer) -- Version: (07 Oct 2013)

Prerequisites

Requires module Release needed
sequencer  

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi
  3. Download the latest version of dallas1wireRaspberryPi (version as of 2013 is )
    from:
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi &&
    wget -N https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/dallas1wireRaspberryPi.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/dallas1wire
  7. Untar and unpack the file to $EPICS_MODULES/support/dallas1wire
    $> cd $EPICS_MODULES/support/dallas1wire && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi/dallas1wireRaspberryPi.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/dallas1wire/dallas1wire
  9. Following the instructions
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add/remove support paths to/from configure/RELEASE $ Add sequencer (SNCSEQ) path: $EPICS_MODULES/soft/seq/seq-2.1.16
      cd $EPICS_MODULES/support/dallas1wire/dallas1wire &&
      if [ 0 -lt $(grep -w 'SNCSEQ\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
             then perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1\n\2 $EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/dallas1wire/dallas1wire &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/dallas1wire/dallas1wire && make realclean uninstall && make && make install

Compact

Download address:

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi
cd $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi &&
wget -N https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/dallas1wireRaspberryPi.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi
find $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/dallas1wire
cd $EPICS_MODULES/support/dallas1wire &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/dallas1wireRaspberryPi/dallas1wireRaspberryPi.tar.gz

cd $EPICS_MODULES/support/dallas1wire/dallas1wire &&
perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/dallas1wire/dallas1wire &&
if [ 0 -lt $(grep -w 'SNCSEQ\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/dallas1wire/dallas1wire &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/dallas1wire/dallas1wire && make realclean uninstall && make && make install

Documentation

  • TIP [[][]].
-- PeterZumbruch - 07 Oct 2013


Raspberry Pi: Extension board for the Raspberry Pi Computer
with a CAN bus interface and AsynPortDrivers
for ISEG EHS/EDS modules, Wiener VME remote control, and THMP
(by F.Feldbauer) -- Version: 2.0.0 (07 Oct 2013)

Prerequisites

Requires module Release needed
asyn 4-21
sequencer optional
PEAK Systems CAN Driver or CAN driver for Raspberry Pi Adaptor Board

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can
  3. Download the latest version of epics_RPi_can (version as of August 2013 is 2.0.0)
    from: https://github.com/ffeldbauer/epics_RPi_can
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can &&
    wget -N https://github.com/ffeldbauer/epics_RPi_can/archive/v2.0.0.zip
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/epics_RPi_can
  7. Untar and unpack the file to $EPICS_MODULES/support/epics_RPi_can
    $> cd $EPICS_MODULES/support/epics_RPi_can && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can/v2.0.0.zip
    (valid for R3.14.12.2 or later)
  8. $> cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan
  9. cd $EPICS_MODULES/support/epics_RPi_can &&
    unzip $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can/v2.0.0.zip
CAN_interface
  1. cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan/../CAN_interface &&
    make && make install
drvAsynCan
  1. Following the instructions README
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan
    perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
      cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
      if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
             then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      Add sequencer (SNCSEQ) path
      $EPICS_MODULES/soft/seq/seq-2.1.16
      cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
      if [ 0 -lt $(grep -w 'SNCSEQ\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
             then perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  2. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan && make realclean uninstall && make && make install

Compact

Download address: https://github.com/ffeldbauer/epics_RPi_can

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can
cd $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can &&
wget -N https://github.com/ffeldbauer/epics_RPi_can/archive/v2.0.0.zip
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can
find $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/epics_RPi_can
cd $EPICS_MODULES/support/epics_RPi_can &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can/v2.0.0.zip


cd $EPICS_MODULES/support/epics_RPi_can &&
unzip $EPICS_DOWNLOAD_DIR/modules/support/epics_RPi_can/v2.0.0.zip

cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan/../CAN_interface &&
make && make install

cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
perl -pi -e "s|(^(EPICS_BASE\s*=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
if [ 0 -lt $(grep -w 'ASYN\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN\s*=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
if [ 0 -lt $(grep -w 'SNCSEQ\s*=' configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ\s*=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/epics_RPi_can/epics_RPi_can-2.0.0/drvAsynCan && make realclean uninstall && make && make install

Documentation

  • TIP [[][]].
-- PeterZumbruch - 07 Oct 2013


calc module -- Version: 3-4 (20 Aug 2014)

Prerequisites

Requires module Release needed
sscan (optional) R2-8 (version # is not critical)
autosave (optional) R5-0 (earlier versions will not work)

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/calc
  3. Download the latest version of calc (version as of 07 Jan 2014 is 3-4)
    from: http://www.aps.anl.gov/bcda/synApps/calc/calc.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/calc
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/calc &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar//calc_R3-4.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/calc
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/calc -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/calc
  7. Untar and unpack the file to $EPICS_MODULES/support/calc
    $> cd $EPICS_MODULES/support/calc && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/calc/calc_R3-4.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/calc/calc-3-4
  9. Following the instructions http://www.aps.anl.gov/bcda/synApps/calc/calc.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add sscan (SSCAN) path: $EPICS_MODULES/support/sscan/sscan-2-10
      cd $EPICS_MODULES/support/calc/calc-3-4 &&
      if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
      then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
             then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      Add autosave (AUTOSAVE) path
      $EPICS_MODULES/support/autosave/autosave-5-4
      cd $EPICS_MODULES/support/calc/calc-3-4 &&
      if [ 0 -lt $(grep -w AUTOSAVE= configure/RELEASE | wc -l ) ];
      then if [ -d "$EPICS_MODULES/support/autosave/autosave-5-4" ];
             then perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1\n\2$EPICS_MODULES/support/autosave/autosave-5-4\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e AUTOSAVE=$EPICS_MODULES/support/autosave/autosave-5-4\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/calc/calc-3-4 &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/calc/calc-3-4 && make realclean uninstall && make && make install

Compact

Download address: http://www.aps.anl.gov/bcda/synApps/calc/calc.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/calc
cd $EPICS_DOWNLOAD_DIR/modules/support/calc &&
wget -N http://www.aps.anl.gov/bcda/synApps/tar//calc_R3-4.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/calc
find $EPICS_DOWNLOAD_DIR/modules/support/calc -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/calc
cd $EPICS_MODULES/support/calc &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/calc/calc_R3-4.tar.gz

cd $EPICS_MODULES/support/calc/calc-3-4 &&
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&

cd $EPICS_MODULES/support/calc/calc-3-4 &&
if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
       then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
fi


cd $EPICS_MODULES/support/calc/calc-3-4 &&
if [ 0 -lt $(grep -w AUTOSAVE= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/autosave/autosave-5-4" ];
       then perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1\n\2$EPICS_MODULES/support/autosave/autosave-5-4\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e AUTOSAVE=$EPICS_MODULES/support/autosave/autosave-5-4\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/calc/calc-3-4 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;


cd $EPICS_MODULES/support/calc/calc-3-4 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - 20 Aug 2014


Motor Record and Device/Driver support -- Version: 6-8 (-- 07 Oct 2013)

Prerequisites

Requires module Release needed
asyn R4-21
IPAC R2-12

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/motor
  3. Download the latest version of motor (version as of 21 Jun 2013 is 6-8)
    from: http://www.aps.anl.gov/bcda/synApps/motor/index.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/motor
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/motor &&
    wget -N http://www.aps.anl.gov/bcda/synApps/motor/tar/motorR6-8.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/motor
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/motor -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/motor
  7. Untar and unpack the file to $EPICS_MODULES/support/motor
    $> cd $EPICS_MODULES/support/motor && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/motor/motorR6-8.tar.gz
    (valid for R3.14.12.3 or later)
  8. $> cd $EPICS_MODULES/support/motor/motorR6-8
  9. Following the instructions http://www.aps.anl.gov/bcda/synApps/motor/index.html
    now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    1. Add support paths to configure/RELEASE $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
      cd $EPICS_MODULES/support/motor/motorR6-8 &&
      if [ 0 -lt $(grep -w ASYN= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
             then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      Add IPAC (IPAC) path
      $EPICS_MODULES/support/ipac/ipac-2.12
      cd $EPICS_MODULES/support/motor/motorR6-8 &&
      if [ 0 -lt $(grep -w IPAC= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/support/ipac/ipac-2.12" ];
             then perl -pi -e "s|(^(IPAC=).*$)|#\1\n\2$EPICS_MODULES/support/ipac/ipac-2.12\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(IPAC=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e IPAC=$EPICS_MODULES/support/ipac/ipac-2.12\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      Add busy (BUSY) path
      $EPICS_MODULES/support/busy/busy-1-6
      cd $EPICS_MODULES/support/motor/motorR6-8 &&
      if [ 0 -lt $(grep -w BUSY= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/support/busy/busy-1-6" ];
             then perl -pi -e "s|(^(BUSY=).*$)|#\1\n\2$EPICS_MODULES/support/busy/busy-1-6\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(BUSY=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e BUSY=$EPICS_MODULES/support/busy/busy-1-6\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      Add sequencer (SNCSEQ) path
      $EPICS_MODULES/soft/seq/seq-2.1.16
      cd $EPICS_MODULES/support/motor/motorR6-8 &&
      if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
      then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
             then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
             else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
          fi
      else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
      fi
      $ Comment out SUPPORT path:
      cd $EPICS_MODULES/support/motor/motorR6-8 &&
      perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/motor/motorR6-8 && make realclean uninstall && make && make install

Compact

Download address: http://www.aps.anl.gov/bcda/synApps/motor/index.html

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/motor
cd $EPICS_DOWNLOAD_DIR/modules/support/motor &&
wget -N http://www.aps.anl.gov/bcda/synApps/motor/tar/motorR6-8.tar.gz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/motor
find $EPICS_DOWNLOAD_DIR/modules/support/motor -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/support/motor
cd $EPICS_MODULES/support/motor &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/motor/motorR6-8.tar.gz

cd $EPICS_MODULES/support/motor/motorR6-8 &&
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE &&
cd $EPICS_MODULES/support/motor/motorR6-8 &&
if [ 0 -lt $(grep -w ASYN= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/motor/motorR6-8 &&
if [ 0 -lt $(grep -w IPAC= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/ipac/ipac-2.12" ];
       then perl -pi -e "s|(^(IPAC=).*$)|#\1\n\2$EPICS_MODULES/support/ipac/ipac-2.12\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(IPAC=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e IPAC=$EPICS_MODULES/support/ipac/ipac-2.12\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/motor/motorR6-8 &&
if [ 0 -lt $(grep -w BUSY= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/busy/busy-1-6" ];
       then perl -pi -e "s|(^(BUSY=).*$)|#\1\n\2$EPICS_MODULES/support/busy/busy-1-6\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(BUSY=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e BUSY=$EPICS_MODULES/support/busy/busy-1-6\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/motor/motorR6-8 &&
if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | grep -E -v '^\s*#' | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/motor/motorR6-8 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/motor/motorR6-8 && make realclean uninstall && make && make install

Documentation

-- PeterZumbruch - -- 07 Oct 2013


StreamDevice 2 -- Version: 2.6 (27 Sep 2013)

Prerequisites:

asynDriver version R4-3 or higher as the underlying driver layer from https://epics.anl.gov/modules/soft/asyn
calc (optionally?)   as part of snyApps)
  • RELEASE file
    • Make sure that the asyn library and the calc module can be found,
      e.g. by adding ASYN and (if installed) CALC or SYNAPPS to your = <top>/configure/RELEASE= file:
      • ASYN=$EPICS_MODULES/soft/asyn/asyn4-23
      • CALC=$EPICS_MODULES/support/calc/calc-3-4
        • requires itself SSCAN to be defined:
          SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10
    • Have a look at http://epics.web.psi.ch/software/streamdevice for more Details.
    • If you want to enable regular expression matching, you need the PCRE package. For most Linux systems, it is already installed. In that case add the locations of the PCRE header and library to your RELEASEfile:
      • PCRE_INCLUDE=/usr/include
      • PCRE_LIB=/usr/lib
    • If you have several target architectures to be supported you could add new target/host architecture specific RELEASE files in the = <top>/configuredirectory:
      • configure/RELEASE.<epics_host_arch>.Common
      • configure/RELEASE.Common.<epics_target_arch>
      • configure/RELEASE.<epics_host_arch>.<epics_target_arch>

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
  3. Download the latest version of StreamDevice (version as of September 22, 2011 is 2.6)
    from: http://epics.web.psi.ch/software/streamdevice
    to the directory $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
    $> cd $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice &&
    wget -N http://epics.web.psi.ch/software/streamdevice/StreamDevice-2-6.tgz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/soft/StreamDevice
  7. Untar and unpack the file to $EPICS_MODULES/soft/StreamDevice
    $> cd $EPICS_MODULES/soft/StreamDevice && tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice/StreamDevice-2-6.tgz
    (valid for R3.14.9 or later (otherwise fixes have to be made))
  8. $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6
  9. Move $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 to $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6.org
    cd $EPICS_MODULES/soft/StreamDevice &&
    mv $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6.org &&
    mkdir -p $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6
  10. Create the necessary infrastructure for a <top> level directory by using makeBaseApp.pl
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 && : | makeBaseApp.pl -b $EPICS_BASE -t support 1>/dev/null
  11. Add support paths to configure/RELEASE $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
    if [ 0 -lt $(grep -w ASYN= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
           then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add calc (CALC) path
    $EPICS_MODULES/support/calc/calc-3-4
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
    if [ 0 -lt $(grep -w CALC= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/calc/calc-3-4" ];
           then perl -pi -e "s|(^(CALC=).*$)|#\1\n\2$EPICS_MODULES/support/calc/calc-3-4\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(CALC=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e CALC=$EPICS_MODULES/support/calc/calc-3-4\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add sscan (SSCAN) path
    $EPICS_MODULES/support/sscan/sscan-2-10
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
    if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
           then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add sequencer (SNCSEQ) path
    $EPICS_MODULES/soft/seq/seq-2.1.16
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
    if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
           then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
    fi
  12. Add settings for PCRE to configure/RELEASE
    cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
    echo -e \\n# PCRE settings\\n | sed 's/ //g' >> configure/RELEASE &&
    echo -e PCRE_INCLUDE=/usr/include\\n | sed 's/ //g' >> configure/RELEASE &&
    echo -e PCRE_LIB=/usr/lib\\n\\n | sed 's/ //g' >> configure/RELEASE
  13. Call make for the <top> level structures in the directory $EPICS_MODULES/soft/StreamDevice
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 && make realclean uninstall && make && make install
  14. Move downloaded files to subdirectory of $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6
    cd $EPICS_MODULES/soft/StreamDevice &&
    mv $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6.org $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice
  15. Download patch files for StreamDevice retrieved via the index.html file of http://epics.web.psi.ch/software/streamdevice
    cd $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice &&
    wget -qO- http://epics.web.psi.ch/software/streamdevice |
    perl -n -e "while (s&(\"StreamDevice-2-6-patch20[0-9]+\")&&) { print $& . \"\n\"; }" |
    perl -p -e 's/\"//g' |
    perl -n -e '{system "wget -N http://epics.web.psi.ch/software/streamdevice/$_";}'
  16. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
  17. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice -user $(id -n -u) -exec chmod ug+rw {} \;
  18. Apply all available patches and if applying patches, always apply older patches of the same version first.
    cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice &&
    ALIAS_BACKUP_LS=$(alias ls)
    alias ls=ls
    for item in $(ls $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice/StreamDevice-2-6-patch20* | grep StreamDevice-2-6-patch20 | sort) ;
    do
        patch --strip=0 --input=$item;
    done;
    eval $ALIAS_BACKUP_LS
    unset ALIAS_BACKUP_LS
  19. If you are using CALC then (up-to_now (PeterZumbruch - 16 Feb 2011)) you have to apply this patch by hand:
    cd $EPICS_MODULES/support/calc/calc-3-4/dbd &&
    makeIncludeDbd.pl * calc.dbd
  20. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice && make

Compact

Download address: http://epics.web.psi.ch/software/streamdevice

export MYEPICS_VERSION=3.16.1
[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
cd $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice &&
wget -N http://epics.web.psi.ch/software/streamdevice/StreamDevice-2-6.tgz
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
find $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice -user $(id -n -u) -exec chmod ug+rw {} \;
mkdir -p $EPICS_MODULES/soft/StreamDevice
cd $EPICS_MODULES/soft/StreamDevice &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice/StreamDevice-2-6.tgz

cd $EPICS_MODULES/soft/StreamDevice &&
mv $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6.org &&
mkdir -p $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 && : | makeBaseApp.pl -b $EPICS_BASE -t support 1>/dev/null
cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
if [ 0 -lt $(grep -w ASYN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
if [ 0 -lt $(grep -w CALC= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/calc/calc-3-4" ];
       then perl -pi -e "s|(^(CALC=).*$)|#\1\n\2$EPICS_MODULES/support/calc/calc-3-4\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(CALC=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e CALC=$EPICS_MODULES/support/calc/calc-3-4\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
       then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
if [ 0 -lt $(grep -w SNCSEQ= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/seq/seq-2.1.16" ];
       then perl -pi -e "s|(^(SNCSEQ=).*$)|#\1\n\2$EPICS_MODULES/soft/seq/seq-2.1.16\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SNCSEQ=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SNCSEQ=$EPICS_MODULES/soft/seq/seq-2.1.16\\n | sed 's/ //g' >> configure/RELEASE;
fi


cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 &&
echo -e \\n# PCRE settings\\n | sed 's/ //g' >> configure/RELEASE &&
echo -e PCRE_INCLUDE=/usr/include\\n | sed 's/ //g' >> configure/RELEASE &&
echo -e PCRE_LIB=/usr/lib\\n\\n | sed 's/ //g' >> configure/RELEASE

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6 && make realclean uninstall && make && make install

cd $EPICS_MODULES/soft/StreamDevice &&
mv $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6.org $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice

cd $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice &&
wget -qO- http://epics.web.psi.ch/software/streamdevice |
perl -n -e "while (s&(\"StreamDevice-2-6-patch20[0-9]+\")&&) { print $& . \"\n\"; }" |
perl -p -e 's/\"//g' |
perl -n -e '{system "wget -N http://epics.web.psi.ch/software/streamdevice/$_";}'
groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice
find $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice -user $(id -n -u) -exec chmod ug+rw {} \;

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice &&
ALIAS_BACKUP_LS=$(alias ls)
alias ls=ls
for item in $(ls $EPICS_DOWNLOAD_DIR/modules/soft/StreamDevice/StreamDevice-2-6-patch20* | grep StreamDevice-2-6-patch20 | sort) ;
do
    patch --strip=0 --input=$item;
done;
eval $ALIAS_BACKUP_LS
unset ALIAS_BACKUP_LS

cd $EPICS_MODULES/support/calc/calc-3-4/dbd &&
makeIncludeDbd.pl * calc.dbd

cd $EPICS_MODULES/soft/StreamDevice/StreamDevice-2-6/StreamDevice && make

Documentation

-- PeterZumbruch - 27 Sep 2013


areaDetector: EPICS software for area detectors -- Version: 1-9-1 (27 Feb 2013)

Prerequisites:

Requires module Release needed Required for
EPICS base 3.14.12.3 Base support
asyn 4-21 Socket and interface support
busy 1-4 busy record
calc 3-0 scalcout and sseq records, needed by sscan database and useful for other databases
sscan 2-8-1 sscan record
autosave 5-0 Save/restore
  • RELEASEfile
    • Make sure that the asyn library and the calc module can be found,
      e.g. by adding ASYN and (if installed) CALC or SYNAPPS to your
    • If you have several target architectures to be supported you could add new target/host architecture specific RELEASE files in the =<top>/configuredirectory:
      • configure/RELEASE.<epics_host_arch>.Common
      • configure/RELEASE.Common.<epics_target_arch>
      • configure/RELEASE.<epics_host_arch>.<epics_target_arch>

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> export MYEPICS_VERSION=3.16.1
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/areaDetector
  3. Download the latest version of areaDetector (version as of 11 Mar 2013 is 1-9-1)
    from: http://cars9.uchicago.edu/software/epics/areaDetector.html
    to the directory $EPICS_DOWNLOAD_DIR/modules/support/areaDetector
    $> cd $EPICS_DOWNLOAD_DIR/modules/support/areaDetector &&
    wget -N http://cars.uchicago.edu/software/pub/areaDetectorR1-9-1.tgz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/areaDetector
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/modules/support/areaDetector -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/support/areaDetector/
  7. Untar and unpack the file to $EPICS_MODULES/support/areaDetector/
    $> cd $EPICS_MODULES/support/areaDetector/ && tar axvf $EPICS_DOWNLOAD_DIR/modules/support/areaDetector/areaDetectorR1-9-1.tgz
    (valid for R3.14.12.3 or later (otherwise fixes have to be made))
  8. $> cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1
  9. Add support paths to configure/RELEASE now edit the file(s) configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
    $ Add asyn (ASYN) path: $EPICS_MODULES/soft/asyn/asyn4-23
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    if [ 0 -lt $(grep -w ASYN= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
           then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add busy (BUSY) path
    $EPICS_MODULES/support/busy/busy-1-6
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    if [ 0 -lt $(grep -w BUSY= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/busy/busy-1-6" ];
           then perl -pi -e "s|(^(BUSY=).*$)|#\1\n\2$EPICS_MODULES/support/busy/busy-1-6\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(BUSY=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e BUSY=$EPICS_MODULES/support/busy/busy-1-6\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add calc (CALC) path
    $EPICS_MODULES/support/calc/calc-3-4
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    if [ 0 -lt $(grep -w CALC= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/calc/calc-3-4" ];
           then perl -pi -e "s|(^(CALC=).*$)|#\1\n\2$EPICS_MODULES/support/calc/calc-3-4\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(CALC=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e CALC=$EPICS_MODULES/support/calc/calc-3-4\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add sscan (SSCAN) path
    $EPICS_MODULES/support/sscan/sscan-2-10
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
           then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    Add autosave (AUTOSAVE) path
    $EPICS_MODULES/support/autosave/autosave-5-4
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    if [ 0 -lt $(grep -w AUTOSAVE= configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/support/autosave/autosave-5-4" ];
           then perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1\n\2$EPICS_MODULES/support/autosave/autosave-5-4\n|g" configure/RELEASE;
           else perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1|g" configure/RELEASE
        fi
    else echo -e AUTOSAVE=$EPICS_MODULES/support/autosave/autosave-5-4\\n | sed 's/ //g' >> configure/RELEASE;
    fi
    $ Comment out SUPPORT path:
    cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
    perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;
  10. Finally: Run make in the top-level directory:
    $> cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 && make

Compact

Download address: http://cars9.uchicago.edu/software/epics/areaDetector.html

[ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

mkdir -p $EPICS_DOWNLOAD_DIR/modules/support/areaDetector
cd $EPICS_DOWNLOAD_DIR/modules/support/areaDetector &&
wget -N http://cars.uchicago.edu/software/pub/areaDetectorR1-9-1.tgz

groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/modules/support/areaDetector
find $EPICS_DOWNLOAD_DIR/modules/support/areaDetector -user $(id -n -u) -exec chmod ug+rw {} \;

mkdir -p $EPICS_MODULES/support/areaDetector/
cd $EPICS_MODULES/support/areaDetector/ &&
tar axvf $EPICS_DOWNLOAD_DIR/modules/support/areaDetector/areaDetectorR1-9-1.tgz
cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" configure/RELEASE
cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
if [ 0 -lt $(grep -w ASYN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/soft/asyn/asyn4-23" ];
       then perl -pi -e "s|(^(ASYN=).*$)|#\1\n\2$EPICS_MODULES/soft/asyn/asyn4-23\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(ASYN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e ASYN=$EPICS_MODULES/soft/asyn/asyn4-23\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
if [ 0 -lt $(grep -w BUSY= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/busy/busy-1-6" ];
       then perl -pi -e "s|(^(BUSY=).*$)|#\1\n\2$EPICS_MODULES/support/busy/busy-1-6\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(BUSY=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e BUSY=$EPICS_MODULES/support/busy/busy-1-6\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
if [ 0 -lt $(grep -w CALC= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/calc/calc-3-4" ];
       then perl -pi -e "s|(^(CALC=).*$)|#\1\n\2$EPICS_MODULES/support/calc/calc-3-4\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(CALC=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e CALC=$EPICS_MODULES/support/calc/calc-3-4\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
if [ 0 -lt $(grep -w SSCAN= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/sscan/sscan-2-10" ];
       then perl -pi -e "s|(^(SSCAN=).*$)|#\1\n\2$EPICS_MODULES/support/sscan/sscan-2-10\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(SSCAN=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e SSCAN=$EPICS_MODULES/support/sscan/sscan-2-10\\n | sed 's/ //g' >> configure/RELEASE;
fi

cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
if [ 0 -lt $(grep -w AUTOSAVE= configure/RELEASE | wc -l ) ];
then if [ -d "$EPICS_MODULES/support/autosave/autosave-5-4" ];
       then perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1\n\2$EPICS_MODULES/support/autosave/autosave-5-4\n|g" configure/RELEASE;
       else perl -pi -e "s|(^(AUTOSAVE=).*$)|#\1|g" configure/RELEASE
    fi
else echo -e AUTOSAVE=$EPICS_MODULES/support/autosave/autosave-5-4\\n | sed 's/ //g' >> configure/RELEASE;
fi
cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 &&
perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" configure/RELEASE;



cd $EPICS_MODULES/support/areaDetector//areaDetectorR1-9-1 && make

Documentation

-- PeterZumbruch - 27 Feb 2013


allenBradley


caPutLog


imCaLib


DLI Ethernet Power Controller II


PV List Server


Packages / Distributions


synApps (valid for R3.14.12.3 and higher ) -- Version: 5.7 (04 Apr 2014)

Note

There has been a major change in the installation routines between version 5.4 and 5.3.!
Therefore, if you need to install SynApps for Base Versions previous to 3.14.10 then have a look at the chapter for 5.3 installation below

Prerequisites:

  • EPICS base: valid for R3.14.12.3 and higher

Installation (valid for R3.14.12.3 and higher )

Installation

  1. Set EPICS variables, if not yet done:
    (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
    $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
  2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
    $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
    Then create download directory, if not yet existing:
    $> mkdir -p $EPICS_DOWNLOAD_DIR/Distributions/synApps
  3. Download the latest version of synApps (version as of 26 Aug 2013 is 5.7)
    from: http://www.aps.anl.gov/bcda/synApps/index.php
    to the directory $EPICS_DOWNLOAD_DIR/Distributions/synApps
    $> cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar/synApps_5_7.tar.gz
  4. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
    $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/Distributions/synApps
  5. and also set the correct rights:
    $> find $EPICS_DOWNLOAD_DIR/Distributions/synApps -user $(id -n -u) -exec chmod ug+rw {} \;
  6. Create installation directory:
    $> mkdir -p $EPICS_MODULES/synApps
  7. Untar and unpack the file to $EPICS_MODULES/synApps
    $> cd $EPICS_MODULES/synApps && tar axvf $EPICS_DOWNLOAD_DIR/Distributions/synApps/synApps_5_7.tar.gz
  8. Following the instructions http://www.aps.anl.gov/bcda/synApps/index.php ... $ ... set <Support Directory> (SUPPORT) path: $EPICS_MODULES/synApps/synApps_5_7/support in support/configure/RELEASE now edit the file(s) support/configure/RELEASE and set the paths to a valid $EPICS_BASE on your site:
    • either absolutely to EPICS_BASE=
    • or relatively to EPICS_BASE=$(TOP)/../base-3.16.1
    perl -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" support/configure/RELEASE
    Add synApps (SUPPORT) path
    $EPICS_MODULES/synApps/synApps_5_7
    cd $EPICS_MODULES/synApps/synApps_5_7 &&
    if [ 0 -lt $(grep -w SUPPORT= support/configure/RELEASE | wc -l ) ];
    then if [ -d "$EPICS_MODULES/synApps/synApps_5_7/support" ];
           then perl -pi -e "s|(^(SUPPORT=).*$)|#\1\n\2$EPICS_MODULES/synApps/synApps_5_7/support\n|g" support/configure/RELEASE;
           else perl -pi -e "s|(^(SUPPORT=).*$)|#\1|g" support/configure/RELEASE
        fi
    else echo -e SUPPORT=$EPICS_MODULES/synApps/synApps_5_7/support\\n | sed 's/ //g' >> support/configure/RELEASE;
    fi

... set <Epics Base directory> (EPICS_BASE) path
$EPICS_BASE in support/configure/RELEASE
cd $EPICS_MODULES/synApps/synApps_5_7 &&
perl -pi -e "s&^\#*(EPICS_BASE=).*$&\1$EPICS_HOME/base&" support/configure/RELEASE
  • Run make release in the $EPICS_MODULES/synApps/synApps_5_7/support directory to propagate the content of MASTER_RELEASE to all modules.
    $> cd $EPICS_MODULES/synApps/synApps_5_7/support && make release
  • Finally: Run make in the top-level directory: in the directory $EPICS_MODULES/synApps/synApps_5_7/support
    $> cd $EPICS_MODULES/synApps/synApps_5_7/support && make
  • Compact (valid for R3.14.12.3 and higher )

    Download address: http://www.aps.anl.gov/bcda/synApps/index.php

    [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

    cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

    mkdir -p $EPICS_DOWNLOAD_DIR/Distributions/synApps
    cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar/synApps_5_7.tar.gz
    groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/Distributions/synApps
    find $EPICS_DOWNLOAD_DIR/Distributions/synApps -user $(id -n -u) -exec chmod ug+rw {} \;
    mkdir -p $EPICS_MODULES/synApps
    cd $EPICS_MODULES/synApps && tar axvf $EPICS_DOWNLOAD_DIR/Distributions/synApps/synApps_5_7.tar.gz
    cd $EPICS_MODULES/synApps/synApps_5_7 &&
    perl -pi -e "s&^\#*(SUPPORT=).*$&\1$EPICS_MODULES/synApps/synApps_5_7/support&" support/configure/RELEASE &&
    cd $EPICS_MODULES/synApps/synApps_5_7 &&
    perl -pi -e "s&^\#*(EPICS_BASE=).*$&\1$EPICS_HOME/base&" support/configure/RELEASE
    cd $EPICS_MODULES/synApps/synApps_5_7/support && make release
    cd $EPICS_MODULES/synApps/synApps_5_7/support && make

    Documentation

    -- PeterZumbruch - 04 Apr 2014


    synApps (valid for R3.14.8.2 and higher) -- Version: 5.3 (07 Apr 2009)

    Note

    There has been a major change in the installation routines between version 5.4 and 5.3.!
    Therefore, if you need to install SynApps for Base Versions previous to 3.14.10 then ...

    Prerequisites (valid for R3.14.8.2 and higher):

    • EPICS base: valid for R3.14.8.2 and higher

    Installation (valid for R3.14.8.2 and higher)

    1. Set EPICS variables, if not yet done:
      (e.g. assuming the to be ~epics/EPICS-3.16.1, and running version 3.16.1)
      $> cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)
    2. To make things easier, first export the environment variable EPICS_DOWNLOAD_DIR containing the path to the download directory:
      $> [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download
      Then create download directory, if not yet existing:
      $> mkdir -p $EPICS_DOWNLOAD_DIR/Distributions/synApps
    3. Download the latest version of synApps (version as of 09 Oct 2008 is 5.3)
      from: http://www.aps.anl.gov/bcda/synApps/index.php
      to the directory $EPICS_DOWNLOAD_DIR/Distributions/synApps
      $> cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
      wget -N http://www.aps.anl.gov/bcda/synApps/tar/synApps_5_3.tar.gz
    4. Download the up-to-now private RULES_DIRS patch file to $EPICS_DOWNLOAD_DIR/Distributions/synApps in order to care for path names containing periods `.'
      (The original version fails to compile if the path of SUPPORT contains periods).
      $> cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
      wget -N https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/RULES_DIRS_5_3.patch
    5. To avoid further problems, set the correct group (if you are a member of it (GSI specific)): epicsadm
      $> groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/Distributions/synApps
    6. and also set the correct rights:
      $> find $EPICS_DOWNLOAD_DIR/Distributions/synApps -user $(id -n -u) -exec chmod ug+rw {} \;
    7. Create installation directory:
      $> mkdir -p $EPICS_MODULES/synApps
    8. Untar and unpack the file to $EPICS_MODULES/synApps
      $> cd $EPICS_MODULES/synApps && tar axvf $EPICS_DOWNLOAD_DIR/Distributions/synApps/synApps_5_3.tar.gz
    9. Following the instructions http://www.aps.anl.gov/bcda/synApps/index.php ...

    ... set <Epics Base directory> (EPICS_BASE) path
    $EPICS_BASE in support/config/MASTER_RELEASE
    cd $EPICS_MODULES/synApps/synApps_5_3 &&
    perl -pi -e "s&^\#*(SUPPORT=).*$&\1$EPICS_MODULES/synApps/synApps_5_3/support&" support/config/MASTER_RELEASE

    ... set <Support Directory> (SUPPORT) path
    $EPICS_MODULES/synApps/synApps_5_3/support in support/config/MASTER_RELEASE
    cd $EPICS_MODULES/synApps/synApps_5_3 &&
    perl -pi -e "s&^\#*(EPICS_BASE=).*$&\1$EPICS_BASE&" support/config/MASTER_RELEASE
    1. Apply private period patch to distribution:
      cd $EPICS_MODULES/synApps &&
      patch --strip=0 --input=$EPICS_DOWNLOAD_DIR/Distributions/synApps/RULES_DIRS_5_3.patch
    2. Run make release in the $EPICS_MODULES/synApps/synApps_5_3/support/config directory to propagate the content of MASTER_RELEASE to all modules.
      $> cd $EPICS_MODULES/synApps/synApps_5_3/support/config && make release
    3. Finally: Run make in the top-level directory: in the directory $EPICS_MODULES/synApps/synApps_5_3/support/config
      $> cd $EPICS_MODULES/synApps/synApps_5_3/support/config && make

    Compact (valid for R3.14.8.2 and higher)

    Download address: http://www.aps.anl.gov/bcda/synApps/index.php

    [ -z "$EPICS_DOWNLOAD_DIR" ] && export EPICS_DOWNLOAD_DIR=~/${EPICS_HOME)/Download

    cd $EPICS_MYHOME && . epics -H $(dirname $PWD) -P "" $(basename $PWD)

    mkdir -p $EPICS_DOWNLOAD_DIR/Distributions/synApps
    cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
    wget -N http://www.aps.anl.gov/bcda/synApps/tar/synApps_5_3.tar.gz
    cd $EPICS_DOWNLOAD_DIR/Distributions/synApps &&
    wget -N https://wiki.gsi.de/foswiki/pub/Epics/EpicsInstallationsAtGsi/RULES_DIRS_5_3.patch
    groups | grep -q -w epicsadm && chgrp -R epicsadm $EPICS_DOWNLOAD_DIR/Distributions/synApps
    find $EPICS_DOWNLOAD_DIR/Distributions/synApps -user $(id -n -u) -exec chmod ug+rw {} \;
    mkdir -p $EPICS_MODULES/synApps
    cd $EPICS_MODULES/synApps && tar axvf $EPICS_DOWNLOAD_DIR/Distributions/synApps/synApps_5_3.tar.gz
    cd $EPICS_MODULES/synApps/synApps_5_3 &&
    perl -pi -e "s&^\#*(SUPPORT=).*$&\1$EPICS_MODULES/synApps/synApps_5_3/support&" support/config/MASTER_RELEASE
    cd $EPICS_MODULES/synApps/synApps_5_3 &&
    perl -pi -e "s&^\#*(EPICS_BASE=).*$&\1$EPICS_BASE&" support/config/MASTER_RELEASE
    cd $EPICS_MODULES/synApps &&
    patch --strip=0 --input=$EPICS_DOWNLOAD_DIR/Distributions/synApps/RULES_DIRS_5_3.patch
    cd $EPICS_MODULES/synApps/synApps_5_3/support/config && make release
    cd $EPICS_MODULES/synApps/synApps_5_3/support/config && make

    Documentation (valid for R3.14.8.2 and higher)

    -- PeterZumbruch - 07 Apr 2009


    Eclipse

    An GSI wide installation of the Eclipse SDK is available. To be able to extend with plug-ins specially needed for EPICS an EPICS local versionof eclipse has been installed.
    -- PeterZumbruch - 08 Nov 2006


    Eclipse IDE

    For the eclipse SDK an IDE plug-in for EPICSis provided.
    • To install follow the instructions given.
    • TIP It happened to our local installations of eclipse that we had to deactivate another plug-in before being able to install the EPICS plug-in.
      Therefore goto Help ⇒ Software Updates ⇒ Manage Configuration choose the plug-in from the list a try to disable it (in our case it was the "Virtual UML" module)
    -- PeterZumbruch - 08 Nov 2006


    CSS - control system suite


    -- PeterZumbruch - 2018-09-21
    Topic attachments
    I Attachment Action Size Date Who Comment
    Makefile.patchpatch Makefile.patch manage 0.3 K 2011-02-17 - 09:35 PeterZumbruch StreamDevice-2-4/srcSynApps/Makefile.patch
    RULES_DIRS_5_2.patchpatch RULES_DIRS_5_2.patch manage 0.8 K 2008-12-10 - 16:09 PeterZumbruch patch file for synApps_5_2/support/config/RULES_DIR for the period problem
    RULES_DIRS_5_3.patchpatch RULES_DIRS_5_3.patch manage 0.8 K 2008-12-10 - 16:09 PeterZumbruch patch file for synApps_5_3/support/config/RULES_DIR for the period problem
    VisualDCTEXT VisualDCT manage 0.1 K 2006-10-30 - 15:36 MartinFeldmann script wrapping the call of visualDCT
    dallas1wireRaspberryPi.7z7z dallas1wireRaspberryPi.7z manage 52.1 K 2013-10-08 - 09:32 PeterZumbruch Dallas 1-wire Raspberry Pi device support by Florian Feldbauer
    dallas1wireRaspberryPi.tar.gzgz dallas1wireRaspberryPi.tar.gz manage 150.2 K 2013-10-08 - 09:31 PeterZumbruch Dallas 1-wire Raspberry Pi device support by Florian Feldbauer
    devwaveformStream.patchpatch devwaveformStream.patch manage 0.3 K 2011-02-17 - 09:36 PeterZumbruch StreamDevice-2-4/src/devwaveformStream.patch
    patch.ChannelArchiver.wheezy74_gcc472wheezy74_gcc472 patch.ChannelArchiver.wheezy74_gcc472 manage 8.4 K 2014-04-14 - 11:58 PeterZumbruch ChannelArchiver patch file to adopt for gcc4.7.2 (and wheezy7.4) by F.Uhlig/GSI
    Topic revision: r188 - 2018-09-21, PeterZumbruch
     
    This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding GSI Wiki? Send feedback
    Imprint (in German)
    Privacy Policy (in German)