Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page contains information about using EPICS with MATLAB R2012a and Java in the LCLS Development and Production environments.

...

Warning

Attention:

All scripts in this page are assuming that your current shell is Bash.

  • If you are using some other shell such as tcsh, you can switch to bash in your current session by typing "bash" in your terminal.
  • If you wish to switch permanently to Bash as your default shell here are some instructions:

In order to change your default shell at login from tcsh (or any other shell) to Bash, please execute the following command on a Linux server on the AFS network, such as a rhel6-64* node. (You will be prompted for your password during this process):

ypchsh -s /bin/bash

After that, close the terminal and open a new one. You will be using Bash as the default shell. 

You can check if all went well with the following command in a new Terminal window:

echo $SHELL

matpva

  • matpva is a powerful extention that provides seamless integration between MATLAB and EPICS 7 through Python P4P module.

How to use matpva

matpva: Integrate EPICS7 into MATLAB using PVAccess for Python (P4P) module

How to test matpva

How to test matpva in DEV and PROD (lcls and facet)

...


Anchor
matlab_top
matlab_top
MATLAB

Anchor
matlab_installation
matlab_installation
Installation

For MATLAB admins (epicsmgr group members) only:

  • New versions (versions later than 2012a) of MATLAB should be installed in the 3rd-party software package area under the matlab folder:
    - Development:

...

At the time of this writing, the latest version of Java available in Development and Production is 1.8.0_181 (64-bit). In order to use this Java version, source the following scripts depending on your environment:

  • Development
    /afs/slac/g/lcls/physics/setup/javaSetup-R1.8.0_181.bashProduction
    package/matlab
    - Production: /usr/local/lcls/physics/setup/javaSetup-R1.8.0_181.bash
Note

For Oracle compatibility, the Oracle client used must also be compiled for 64-bit. In order to use the supported 64-bit Oracle client, source the following scripts depending on your environment:

  • Development
    /afs/slac/g/lcls/tools/oracle/oracleSetup-R11.2.0.4.bash
  • Production
    /usr/local/lcls/tools/oracle/oracleSetup-R11.2.0.4.bash

EPICS Java APIs

The EPICS Java APIs are located at:

  • Development
    /afs/slac/g/lcls/epics/java
  • Production
    /usr/local/lcls/epics/java

At these locations you will be able to find the following libraries:

  • epicsCoreJava
    Includes EPICS 7 (pvaccess, ntypes, pvdata) and JCA libraries
  • pvaClientJava
    Includes pvaClientJava library developed by Marty Kraimer
  • phoebus
    This repository contains the whole phoebus code (replacement for the CS-Studio backend) but it also contains the new pva client library developed by Kay Kasemir.

  • exampleJava
    Includes a set of examples of client and server code for PVAcess.

...

  • package/matlab
  • Inside the matlab directory, versions should be installed in folders that correspond to their MATLAB version, e.g. 2012a, 2019a, 2020a, 2022b, etc.

At the time of this writing, the latest version of MATLAB deployed for LCLS Development and Production is 2022b.

Individual AFS user accounts in the LCLS Development environment default to set up and use MATLAB 2012a unless overridden.

The default MATLAB versions for shared login accounts in Production are as follows:

AccountDefault MATLAB version
physics2012a
softegr2019a
laci2012a

Anchor
matlab_2012a_installation
matlab_2012a_installation
2012a

This is 32-bit software and will no longer be supported with OS versions later than RHEL6.
The Java version used by this Matlab is Java 6.

  • Development Environment

...

For MATLAB admins (epicsmgr group members) only:

  • New versions (versions later than 2012a) of MATLAB should be installed in the 3rd-party software package area under the matlab folder:
    - Development:
      • /afs/slac/g/lcls/package/matlab/2012a

      -
    • Production : Environment
      • /usr/local/
      lcls/package/matlab
    • Inside the matlab directory, versions should be installed in folders that correspond to their MATLAB version, e.g. 2012a, 2019a, 2020a, 2022b, etc.

    At the time of this writing, the latest version of MATLAB deployed for LCLS Development and Production is 2022b.

    Individual AFS user accounts in the LCLS Development environment default to set up and use MATLAB 2012a unless overridden.

    The default MATLAB versions for shared login accounts in Production are as follows:

    ...

      • matlab/2012a


    Anchor
    running_matlab
    running_matlab
    Running MATLAB

    In order to set up your environment to use MATLAB R2012a, follow one of the appropriate procedures below.

    Anchor
    running_matlab_2012a
    running_matlab_2012a
    2012a

    • Development

      Warning

      Do not run MATLAB instances on mcclogin or lcls-prod02. MATLAB should be run on mcc-simul in DEV.

      Code Block
      languagebash
      $ source 

    ...

    This is 32-bit software and will no longer be supported with OS versions later than RHEL6.
    The Java version used by this Matlab is Java 6.

    ...

    This is 64-bit software.
    The Java version used by this Matlab is Java 8.

    • Development Environment
      /afs/slac/g/lcls/
      package
      epics/
      matlab/2012a
    • Production Environment
      • /usr/local/matlab/2012a

    ...

    • Development
      setup/epicsenv-3.14.12.bash 
      $ source /afs/slac/g/lcls/
      package/matlab/2019aProduction
      /usr/local
      tools/oracle/oracleSetup_11g.bash 
      $ source /afs/slac/g/lcls/
      package
      tools/matlab/
      2019a

    ...

    • setup/matlabSetup_dev.bash 
      
      # Launch in desktop mode: 
      $ matlab &
      
      # Launch in terminal mode: 
      $ run_matlab.bash --matlab=2012a


    • Production

      Code Block
      languagebash
      $ source 

    ...

    This is 64-bit software.
    The Java version used by this Matlab is Java 8.

    • Development
      /afs/slac/g/lcls/package/matlab/2020a
    • Production
      /usr/local/lcls/
      package
      tools/
      matlab/2020a

    ...

    This is 64-bit software.
    The Java version used by this Matlab is Java 8.

    • Development
      /afs/slac/g/lcls/package/matlab/2022b
    • Production
      /usr/local/lcls/package/matlab/2022b

    ...

    In order to set up your environment to use one of the supported versions of MATLAB, follow one of the appropriate procedures below.

    ...

    Development

    Warning

    Do not run MATLAB instances on mcclogin or lcls-prod02. MATLAB should be run on mcc-simul in DEV.

    ...

    languagebash

    ...

    • script/ENVS.bash
      
      # Launch in desktop mode: 
      $ matlab &
      
      # Launch in terminal mode:
      $ run_matlab.bash --matlab=2012a


    Anchor
    configuring_matlab
    configuring_matlab
    Configuring MATLAB

    For the Development and Production environments, a set of working configuration files is already provided for users and invoked upon login. Users can override the usage of these files by having their own custom files in the folder where they launch MATLAB (see: Creating A Custom MATLAB Environment).

    MATLAB is non-standard Unix software and does not adhere to values set by PATH, LD_LIBRARY_PATH, CLASSPATH, and other global environment variables that are used by most other Unix software. Instead, MATLAB uses the following configuration files to set its environment:

    • Parameters for the Java JVM that runs inside of MATLAB are configured via a java.opts file
    • The classpath is configured via a classpath.txt file
    • The library search path is configured via a librarypath.txt file

    For questions on the installation and deployment of MATLAB in Development or Production, please contact:

    Anchor
    matlab_jvm
    matlab_jvm
    java.opts

    Description: This file is used to pass variables and configurations to the Java JVM used by MATLAB.
    Location:
    <matlabroot>/bin/<architecture>/java.opts
    e.g., in Development environment: /afs/slac/g/lcls

    ...

    /package/matlab/2019a/bin/glnxa64/java.opts

    Below are the working java.opts files for Development and Production.

    2012a

    Development
    Code Block
    languagetext
    -Xbootclasspath/p:/afs/slac/g/lcls

    ...

    Production

    Code Block
    languagebash
    $ source /usr/local/lcls/tools/script/ENVS.bash
    
    # Launch in desktop mode: 
    $ matlab &
    
    # Launch in terminal mode:
    $ run_matlab.bash --matlab=2012a

    ...

    Development

    Warning

    Do not run MATLAB instances on mcclogin or lcls-prod02. MATLAB should be run on mcc-simul in DEV.

    /package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/afs/slac/g/lcls/package/err/common/script/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=134.79.219.255 lcls-dev1.slac.stanford.edu mcc-simul.slac.stanford.edu
    -Dcom.cosylab.epics.caj.CAJContext.addr_list=134.79.219.255 172.26.97.63
    -Dcom.cosylab.epics.caj.CAJContext.auto_addr_list=false
    -Dcom.cosylab.epics.caj.CAJContext.max_array_bytes=80000000
    -Dcom.cosylab.epics.caj.CAJContext.repeater_port=5067
    -Dcom.cosylab.epics.caj.CAJContext.server_port=5066
    Production
    Code Block
    languagetext
    -Xbootclasspath/p:/usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/u1/lcls/tools/orbacus/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=172.27.3.255 172.27.131.255 172.27.43.255 172.21.40.63 mcc-dmz mccas0.slac.stanford.edu
    -Dcom.cosylab.epics.caj.CAJContext.addr_list=172.27.3.255:5068 mcc-dmz 172.21.40.63:5064 172.27.72.24:5070 172.27.131.255:5068 172.27.43.255:5068
    -Dcom.cosylab.epics.caj.CAJContext.auto_addr_list=false
    -Dcom.cosylab.epics.caj.CAJContext.max_array_bytes=80000000
    -Dcom.cosylab.epics.caj.CAJContext.repeater_port=5069
    -Dcom.cosylab.epics.caj.CAJContext.server_port=5068


    Anchor
    matlab_classpath
    matlab_classpath
    classpath.txt

    Description: This file is used to augment the Java classpath used by MATLAB.
    Location:
    <matlabroot>/toolbox/local/classpath.txt
    e.g., in the Development environment:

    Code Block
    languagebash
    $ source /afs/slac/g/lcls/epics/setup/epicsenv-7.0.3.1-1.0.bash
    $ source /afs/slac/g/lcls/tools/oracle/oracleSetup-R11.2.0.4.bash
    $ export MATLAB_VER=2019a
    $ export MLM_LICENSE_FILE="27010@license701,27010@license702,27010@license703"
    $ source /afs/slac/g/lcls/tools/matlab/setup/matlabSetup64.bash
    
    # Launch in desktop mode: 
    $ matlab &
    $ /afs/slac/g/lcls/package/matlab/2019a/bin/matlab &		# If "matlab &" couldn't find the correct location, use the absolute path
    
    # Launch in terminal mode: 
    $ run_matlab.bash --matlab=2019a

    Production

    Code Block
    languagebash
    $ source /usr/local/lcls/epics/setup/epicsenv-7.0.3.1-1.0.bash
    $ source /usr/local/lcls/tools/oracle/oracleSetup-R11.2.0.4.bash
    $ export MATLAB_VER=2019a 
    $ source /usr/local/lcls/tools/matlab/setup/matlabSetup64.bash
    
    # Launch in desktop mode: 
    $ matlab &
    $ /usr/local/lcls/package/matlab/2019a/bin/matlab &		# If "matlab &" couldn't find the correct location, use the absolute path
    
    # Launch in terminal mode: 
    $ run_matlab.bash --matlab=2019a

    ...

    Development

    Warning

    Do not run MATLAB instances on mcclogin or lcls-prod02. MATLAB should be run on mcc-simul in DEV.

    ...

    languagebash

    ...

    /afs/slac/g/lcls/

    ...

    package/

    ...

    matlab/2019a/toolbox/local/classpath.txt

    Below are the working changes to the default MATLAB classpath.txt files for Development and Production.

    Note

    The lines listed for each file below must be APPENDED to the end of the existing default MATLAB classpath.txt file for the configuration to work. Do not remove the preceding lines in the default MATLAB classpath.txt file.

    2012a

    Development
    Code Block
    languagetext
    # Additions to classpath.txt
    /afs/slac/g/lcls/

    ...

    package/oracle/product/11.1.0.6/client/jdbc/lib/ojdbc5.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /afs/slac/g/lcls/package/

    ...

    iona/

    ...

    orbacus/

    ...

    Production

    Code Block
    languagebash
    $ source /usr/local/lcls/epics/epicsenv-7.0.3.1-1.0.bash
    $ source /usr/local/lcls/tools/oracle/oracleSetup-R11.2.0.4.bash
    $ export MATLAB_VER=2020a 
    $ source /usr/local/lcls/tools/matlab/setup/matlabSetup64.bash
    
    # Launch in desktop mode: 
    $ matlab &
    $ /usr/local/lcls/package/matlab/2020a/bin/matlab &		# If "matlab &" couldn't find the correct location, use the absolute path
    
    # Launch in terminal mode: 
    $ run_matlab.bash --matlab=2020a

    ...

    Development

    Warning

    Do not run MATLAB instances on mcclogin or lcls-prod02. MATLAB should be run on aird-b50-srv01 in DEV.

    ...

    languagebash

    ...

    prod/JOB/lib/OBUtil.jar
    /afs/slac/g/lcls/physics/package/except/lib/except.jar
    /afs/slac/g/lcls/physics/package/err/lib/err.jar
    /afs/slac/g/lcls/physics/package/aida/lib/aida.jar
    /afs/slac/g/lcls/physics/release/hlaExtensions/hlaExtensions-R1-2-13/jar/hlaExtensions.jar
    /afs/slac/g/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/ext.jar
    /afs/slac/g/lcls/

    ...

    physics/

    ...

    release/

    ...

    xal4lcls-R0-8-4A/build/jar/xal.jar
    /afs/slac/g/lcls/

    ...

    physics/

    ...

    release/hlaCommon/hlaCommon-R1-0-16/jar/hlaCommon.jar
    /afs/slac/g/lcls/epics/

    ...

    extensions/extensions-R3-14-12/lib/linux-x86
    #/usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /afs/slac/g/lcls/

    ...

    physics/

    ...

    release/MessageLogAPI-R0-0-1A/jar/MessageLogAPI.jar
    # integration with EPICSv4 (greg)
    # Note that the following MUST be compiled so as to target a Java 6 compiler at most,
    # since matlab 2012b of LCLS is shipped with Java 6. pvAccess as shipped requires Java 7.
    # But we use a special source version, adapted by Matej to compile under java 6.
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/easyPVAJava-0.4.3.jar
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/pvAccessJava-4.2.0-Java6-SNAPSHOT.jar
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/pvDataJava-4.0.2.jar
    Production
    Code Block
    languagetext
    # Additions to classpath.txt
    /usr/local/lcls/package/oracle/product/11.1.0.6/client/jdbc/lib/ojdbc5.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    

    Production (Run on softegr@lcls-srv04 in PROD)

    ...

    languagebash

    ...

    /usr/local/lcls/package/iona/orbacus/

    ...

    prod/

    ...

    JOB/

    ...

    For questions on the installation and deployment of MATLAB in Development or Production, please contact:

    ...

    Description: This file is used to pass variables and configurations to the Java JVM used by MATLAB.
    Location:
    <matlabroot>/bin/<architecture>/java.opts
    e.g., in Development environment: /afs/slac/g/lcls/package/matlab/2019a/bin/glnxa64/java.opts

    Below are the working java.opts files for Development and Production.

    2012a

    Development
    Code Block
    languagetext
    -Xbootclasspath/p:/afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/afs/slac/g/lcls/package/err/common/script/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=134.79.219.255 lcls-dev1.slac.stanford.edu mcc-simul.slac.stanford.edu
    -Dcom.cosylab.epics.caj.CAJContext.addr_list=134.79.219.255 172.26.97.63
    -Dcom.cosylab.epics.caj.CAJContext.auto_addr_list=false
    -Dcom.cosylab.epics.caj.CAJContext.max_array_bytes=80000000
    -Dcom.cosylab.epics.caj.CAJContext.repeater_port=5067
    -Dcom.cosylab.epics.caj.CAJContext.server_port=5066
    Production
    Code Block
    languagetext
    -Xbootclasspath/p:/usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/u1/lcls/tools/orbacus/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=172.27.3.255 172.27.131.255 172.27.43.255 172.21.40.63 mcc-dmz mccas0.slac.stanford.edu
    -Dcom.cosylab.epics.caj.CAJContext.addr_list=172.27.3.255:5068 mcc-dmz 172.21.40.63:5064 172.27.72.24:5070 172.27.131.255:5068 172.27.43.255:5068
    -Dcom.cosylab.epics.caj.CAJContext.auto_addr_list=false
    -Dcom.cosylab.epics.caj.CAJContext.max_array_bytes=80000000
    -Dcom.cosylab.epics.caj.CAJContext.repeater_port=5069
    -Dcom.cosylab.epics.caj.CAJContext.server_port=5068

    2019a, 2020a, and 2022b

    Development
    Code Block
    languagetext
    -Xbootclasspath/p:/afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/afs/slac/g/lcls/package/err/common/script/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -Dgov.aps.jca.jni.JNIContext.jca.use_env=true
    -Djca.use_env=true
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=134.79.219.255 lcls-dev1.slac.stanford.edu mcc-simul.slac.stanford.edu
    Production
    Code Block
    languagetext
    -Xbootclasspath/p:/usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    -DAIDA_NAMESERVER_IOR_URL=http://mccas0.slac.stanford.edu/aida/NameServerPROD.ior
    -DOOC_COSEVENTCONFIG_PATHNAME=/u1/lcls/tools/orbacus/ooc_CosEvent_server.conf
    -DAIDA_CLIENT_TIMEOUT=90
    -Dgov.aps.jca.jni.JNIContext.jca.use_env=true
    -Djca.use_env=true
    -DEPICS_PVA_SERVER_PORT=5075
    -DEPICS_PVA_BROADCAST_PORT=5076
    -DEPICS_PVA_AUTO_ADDR_LIST=FALSE
    -DEPICS_PVA_ADDR_LIST=172.27.3.255 172.27.131.255 172.27.43.255 172.21.40.63 mcc-dmz mccas0.slac.stanford.edu

    ...

    Description: This file is used to augment the Java classpath used by MATLAB.
    Location:
    <matlabroot>/toolbox/local/classpath.txt
    e.g., in Development environment: /afs/slac/g/lcls/package/matlab/2019a/toolbox/local/classpath.txt

    Below are the working changes to the default MATLAB classpath.txt files for Development and Production.

    Note

    The lines listed for each file below must be APPENDED to the end of the existing default MATLAB classpath.txt file for the configuration to work. Do not remove the preceding lines in the default MATLAB classpath.txt file.

    2012a

    Development
    Code Block
    languagetext
    # Additions to classpath.txt
    /afs/slac/g/lcls/package/oracle/product/11.1.0.6/client/jdbc/lib/ojdbc5.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    /afs/slac/g/lcls/physics/package/except/lib/except.jar
    /afs/slac/g/lcls/physics/package/err/lib/err.jar
    /afs/slac/g/lcls/physics/package/aida/lib/aida.jar
    /afs/slac/g/lcls/physics/release/hlaExtensions/hlaExtensions-R1-2-13/jar/hlaExtensions.jar
    /afs/slac/g/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/ext.jar
    /afs/slac/g/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/xal.jar
    /afs/slac/g/lcls/physics/release/hlaCommon/hlaCommon-R1-0-16/jar/hlaCommon.jar
    /afs/slac/g/lcls/epics/extensions/extensions-R3-14-12/lib/linux-x86
    #/usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /afs/slac/g/lcls/physics/release/MessageLogAPI-R0-0-1A/jar/MessageLogAPI.jar
    # integration with EPICSv4 (greg)
    # Note that the following MUST be compiled so as to target a Java 6 compiler at most,
    # since matlab 2012b of LCLS is shipped with Java 6. pvAccess as shipped requires Java 7.
    # But we use a special source version, adapted by Matej to compile under java 6.
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/easyPVAJava-0.4.3.jar
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/pvAccessJava-4.2.0-Java6-SNAPSHOT.jar
    /afs/slac/g/lcls/epics/base/base-java6-R4-4-0/pvDataJava-4.0.2.jar
    Production
    Code Block
    languagetext
    # Additions to classpath.txt
    /usr/local/lcls/package/oracle/product/11.1.0.6/client/jdbc/lib/ojdbc5.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    /usr/local/lcls/physics/package/except/lib/except.jar
    /usr/local/lcls/physics/package/err/lib/err.jar
    /usr/local/lcls/physics/package/aida/lib/aida.jar
    /usr/local/lcls/physics/release/hlaExtensions/hlaExtensions-R1-2-13/jar/hlaExtensions.jar
    /usr/local/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/ext.jar
    /usr/local/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/xal.jar
    /usr/local/lcls/physics/release/hlaCommon/hlaCommon-R1-0-16/jar/hlaCommon.jar
    /usr/local/lcls/epics/extensions/extensions-R3-14-12/lib/linux-x86
    /usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /usr/local/lcls/physics/release/MessageLogAPI-R0-0-1A/jar/MessageLogAPI.jar
    # integration with EPICSv4 (greg)
    # Note that the following MUST be compiled so as to target a Java 6 compiler at most,
    # since matlab 2012b of LCLS is shipped with Java 6. pvAccess as shipped requires Java 7.
    # But we use a special source version, adapted by Matej to compile under java 6.
    /usr/local/lcls/epics/base/base-java6-R4-4-0/easyPVAJava-0.4.3.jar
    /usr/local/lcls/epics/base/base-java6-R4-4-0/pvAccessJava-4.2.0-Java6-SNAPSHOT.jar
    /usr/local/lcls/epics/base/base-java6-R4-4-0/pvDataJava-4.0.2.jar

    2019a and 2020a

    Development
    Code Block
    languagetext
    # Additions to classpath.txt
    # ****************************************************************************************************************
    # EPICS 7 Java Interface
    # ****************************************************************************************************************
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvaccess-5.1.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvdata-6.1.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-ntypes-0.3.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-util-1.0.5.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/jca-2.4.2.jar
    /afs/slac/g/lcls/epics/java/pvaClientJava/R4.3.2-0.0.2/products/epics-pvaclient-4.3.2.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # Oracle Database connectivity
    # ****************************************************************************************************************
    /afs/slac/g/lcls/package/oracle/product/11.2.0.4/linux-x86_64/jdbc/lib/ojdbc5.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # IONA ORBacus ==> CORBA-based Client Server API
    # ****************************************************************************************************************
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # AIDA Interface
    # ****************************************************************************************************************
    /afs/slac/g/lcls/physics/package/aida/lib/aida.jar
    /afs/slac/g/lcls/physics/package/aida/lib/aidadp.jar
    /afs/slac/g/lcls/physics/package/err/lib/err.jar
    /afs/slac/g/lcls/package/except/lib/except.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # SLAC Java APIs
    # ****************************************************************************************************************
    /afs/slac/g/lcls/physics/release/hlaExtensions/hlaExtensions-R2-0-0/jar/hlaExtensions.jar
    /afs/slac/g/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/ext.jar
    /afs/slac/g/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/xal.jar
    /afs/slac/g/lcls/physics/release/hlaCommon/hlaCommon-R2-0-0/jar/hlaCommon.jar
    /afs/slac/g/lcls/epics/extensions/R0.5.0/lib/rhel6-x86_64
    /afs/slac/g/lcls/physics/release/MessageLogAPI/MessageLogAPI-R1-0-0/jar/MessageLogAPI.jar
    # ****************************************************************************************************************
    Production
    Code Block
    languagetext
    # Additions to classpath.txt
    # ****************************************************************************************************************
    # EPICS 7 Java Interface
    # ****************************************************************************************************************
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.2-1.0.0/products/epics-pvdata-6.1.2.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.2-1.0.0/products/epics-pvaccess-5.1.2.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.2-1.0.0/products/epics-ntypes-0.3.2.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.2-1.0.0/products/epics-util-1.0.0.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.2-1.0.0/products/jca-2.4.2.jar
    #/usr/local/lcls/epics/extensions/R0.5.0/javalib/jca.jar
    /usr/local/lcls/epics/java/pvaClientJava/R4.3.2-0.0.1/products/epics-pvaclient-4.3.2.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # Oracle Database connectivity
    # ****************************************************************************************************************
    /usr/local/lcls/package/oracle/product/11.2.0.4/linux-x86_64/jdbc/lib/ojdbc5.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # IONA ORBacus ==> CORBA-based Client Server API
    # ****************************************************************************************************************
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # AIDA Interface
    # ****************************************************************************************************************
    /usr/local/lcls/physics/package/aida/lib/aida.jar
    /usr/local/lcls/physics/package/aida/lib/aidadp.jar
    /usr/local/lcls/physics/package/err/lib/err.jar
    /usr/local/lcls/package/except/lib/except.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # SLAC Java APIs
    # ****************************************************************************************************************
    /usr/local/lcls/physics/release/hlaExtensions/hlaExtensions-R2-0-0/jar/hlaExtensions.jar
    /usr/local/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/ext.jar
    /usr/local/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/xal.jar
    /usr/local/lcls/physics/release/hlaCommon/hlaCommon-R2-0-0/jar/hlaCommon.jar
    /usr/local/lcls/epics/extensions/R0.5.0/lib/rhel6-x86_64
    /afs/slac/g/lcls/epics/extensions/labca/R3.8.1-0.1.0/lib/rhel7-x86_64
    /usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /usr/local/lcls/physics/release/MessageLogAPI/MessageLogAPI-R1-0-0/jar/MessageLogAPI.jar
    # ****************************************************************************************************************

    2022b

    Development
    Code Block
    languagetext
    # Additions to classpath.txt
    # ****************************************************************************************************************
    # EPICS 7 Java Interface
    # ****************************************************************************************************************
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvaccess-5.1.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvdata-6.1.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-ntypes-0.3.7.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-util-1.0.5.jar
    /afs/slac/g/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/jca-2.4.2.jar
    /afs/slac/g/lcls/epics/extensions/R1.3.0/javalib/jca.jar
    /afs/slac/g/lcls/epics/java/pvaClientJava/R4.3.2-0.0.2/products/epics-pvaclient-4.3.2.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # Oracle Database connectivity
    # ****************************************************************************************************************
    /afs/slac/g/lcls/package/oracle/product/11.2.0.4/linux-x86_64/jdbc/lib/ojdbc5.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # IONA ORBacus ==> CORBA-based Client Server API
    # ****************************************************************************************************************
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /afs/slac/g/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # AIDA Interface
    # ****************************************************************************************************************
    /afs/slac/g/lcls/physics/package/aida/lib/aida.jar
    /afs/slac/g/lcls/physics/package/aida/lib/aidadp.jar
    /afs/slac/g/lcls/physics/package/err/lib/err.jar
    /afs/slac/g/lcls/package/except/lib/except.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # SLAC Java APIs
    # ****************************************************************************************************************
    /afs/slac/g/lcls/physics/release/hlaExtensions/hlaExtensions-R2-0-0/jar/hlaExtensions.jar
    /afs/slac/g/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/ext.jar
    /afs/slac/g/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/xal.jar
    /afs/slac/g/lcls/physics/release/hlaCommon/hlaCommon-R2-0-0/jar/hlaCommon.jar
    /afs/slac/g/lcls/epics/extensions/R1.3.0/lib/rhel7-x86_64
    /afs/slac/g/lcls/physics/release/MessageLogAPI/MessageLogAPI-R1-0-0/jar/MessageLogAPI.jar
    # ****************************************************************************************************************
    Production
    Code Block
    languagetext
    # Additions to classpath.txt
    # ****************************************************************************************************************
    # EPICS 7 Java Interface
    # **************************************************************************************************************** 
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvaccess-5.1.7.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-pvdata-6.1.7.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/epics-ntypes-0.3.7.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/eepics-util-1.0.5.jar
    /usr/local/lcls/epics/java/epicsCoreJava/R7.0.8-1.0.0/products/jca-2.4.2.jar
    /usr/local/lcls/epics/extensions/R1.3.0/javalib/jca.jar
    /usr/local/lcls/epics/java/pvaClientJava/R4.3.2-0.0.1/products/epics-pvaclient-4.3.2.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # Oracle Database connectivity
    # ****************************************************************************************************************
    /usr/local/lcls/package/oracle/product/11.2.0.4/linux-x86_64/jdbc/lib/ojdbc5.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # IONA ORBacus ==> CORBA-based Client Server API
    # ****************************************************************************************************************
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OB.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBEvent.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # AIDA Interface
    # ****************************************************************************************************************
    /usr/local/lcls/physics/package/aida/lib/aida.jar
    /usr/local/lcls/physics/package/aida/lib/aidadp.jar
    /usr/local/lcls/physics/package/err/lib/err.jar
    /usr/local/lcls/package/except/lib/except.jar
    # ****************************************************************************************************************
    # ****************************************************************************************************************
    # SLAC Java APIs
    # ****************************************************************************************************************
    /usr/local/lcls/physics/release/hlaExtensions/hlaExtensions-R2-0-0/jar/hlaExtensions.jar
    /usr/local/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/ext.jar
    /usr/local/lcls/physics/release/xal4lcls/xal4lcls-R1-0-0/build/jar/xal.jar
    /usr/local/lcls/physics/release/hlaCommon/hlaCommon-R2-0-0/jar/hlaCommon.jar
    /usr/local/lcls/epics/extensions/R1.3.0/lib/rhel7-x86_64
    /usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /usr/local/lcls/physics/release/MessageLogAPI/MessageLogAPI-R1-0-0/jar/MessageLogAPI.jar
    # ****************************************************************************************************************

    ...

    Description: This file is used to augment the library search path used by MATLAB.

    Location:
    <matlabroot>/toolbox/local/librarypath.txt

    e.g., in Development environment: /afs/slac/g/lcls/package/matlab/2019a/toolbox/local/librarypath.txt

    Below are the working librarypath.txt files for Development and Production.

    Note

    The lines listed for each file below must be APPENDED to the end of the existing default MATLAB librarypath.txt file for the configuration to work. Do not remove the preceding lines in the default MATLAB librarypath.txt file.

    2012

    Development
    Code Block
    languagetext
    /afs/slac/g/lcls/epics/extensions/extensions-R3-14-12/lib/linux-x86
    /afs/slac/g/lcls/epics/base/base-R3-14-12/lib/linux-x86
    Production
    Code Block
    languagetext
    /usr/local/lcls/epics/extensions/extensions-R3-14-12/lib/linux-x86lib/OBEvent.jar
    /usr/local/lcls/package/iona/orbacus/prod/JOB/lib/OBUtil.jar
    /usr/local/lcls/physics/package/except/lib/except.jar
    /usr/local/lcls/physics/package/err/lib/err.jar
    /usr/local/lcls/physics/package/aida/lib/aida.jar
    /usr/local/lcls/physics/release/hlaExtensions/hlaExtensions-R1-2-13/jar/hlaExtensions.jar
    /usr/local/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/ext.jar
    /usr/local/lcls/physics/release/xal4lcls-R0-8-4A/build/jar/xal.jar
    /usr/local/lcls/physics/release/hlaCommon/hlaCommon-R1-0-16/jar/hlaCommon.jar
    /usr/local/lcls/epics/extensions/extensions-R3-14-12/lib/linux-x86
    /usr/local/facet/tools/matlab/sdds/java/SDDS.jar
    /usr/local/lcls/physics/release/MessageLogAPI-R0-0-1A/jar/MessageLogAPI.jar
    # integration with EPICSv4 (greg)
    # Note that the following MUST be compiled so as to target a Java 6 compiler at most,
    # since matlab 2012b of LCLS is shipped with Java 6. pvAccess as shipped requires Java 7.
    # But we use a special source version, adapted by Matej to compile under java 6.
    /usr/local/lcls/epics/base/base-java6-R4-4-0/easyPVAJava-0.4.3.jar
    /usr/local/lcls/epics/base/base-R3java6-14-12/lib/linux-x86

    2019a and 2020a

    Development
    Code Block
    languagetext
    /afs/slac/g/lcls/epics/extensions/R0.5.0/lib/rhel6-x86_64
    /afs/slac/gR4-4-0/pvAccessJava-4.2.0-Java6-SNAPSHOT.jar
    /usr/local/lcls/epics/base/R7base-java6-R4-4-0/pvDataJava-4.0.2-1.0/lib/rhel6-x86_64
    .jar


    Anchor
    matlab_librarypath
    matlab_librarypath
    librarypath.txt

    Description: This file is used to augment the library search path used by MATLAB.

    Location:
    <matlabroot>/toolbox/local/librarypath.txt

    e.g., in Development environment: /afs/slac/g/lcls/package/

    ...

    matlab/

    ...

    2019a/toolbox/local/librarypath.txt

    Below are the working librarypath.txt files for Development and Production.

    Note

    The lines listed for each file below must be APPENDED to the end of the existing default MATLAB librarypath.txt file for the configuration to work. Do not remove the preceding lines in the default MATLAB librarypath.txt file.


    2012

    Production
    Code Block
    languagetext
    /usr/local/lcls/epics/extensions/R0.5.0/lib/rhel6-x86_64
    /usr/local/lcls/epics/base/R7.0.2-1.0/lib/rhel6-x86_64
    /usr/local/lcls/package/oracle/product/11.2.0.4/linux-x86_64/lib

    ...

    Development
    Code Block
    languagetext
    /afs/slac/g/lcls/epics/extensions/R1.3.0/lib/rhel7-x86_64
    /afs/slac/g/lcls/epics/base/R7.0.3.1-1.0/lib/rhel7-x86_64extensions-R3-14-12/lib/linux-x86
    /afs/slac/g/lcls/packageepics/oracle/product/11.2.0.4base/base-R3-14-12/lib/linux-x86_64/lib
    Production
    Code Block
    languagetext
    /usr/local/lcls/epics/extensions/R1.3.0extensions-R3-14-12/lib/rhel7linux-x86_64
    /usr/local/lcls/epics/base/R7.0.3.1-1.0/lib/rhel7-x86_64
    /usr/local/lcls/package/oracle/product/11.2.0.4/linux-x86_64/libbase-R3-14-12/lib/linux-x86


    Anchor
    custom_matlab_env
    custom_matlab_env
    Creating A Custom MATLAB Environment

    ...