Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

1.1 Install the EPICS environment

Use the pre-built EPICS-env 1.5.0 distribution to run and build the input/output controllers (IOCs) in this training. Each operating system has its own binary tree containing EPICS Base 7.0.10, 36 standard modules, commonIocsh scripts, and the iocsh.bash module loader.

This lesson covers the public distribution. Facility-specific site modules and source builds are outside its scope.

Prerequisites

  • A supported Linux system on x86_64, with Bash, Perl, and Git.
  • The required system packages.
  • An unused ~/epics destination for the clone. If your distribution is already installed elsewhere, use its directory instead of ~/epics below.

Get and activate the environment

  1. Clone the public binary distribution into your home directory:

    git clone --depth 1 https://github.com/jeonghanlee/EPICS-env-distribution.git ~/epics
    
  2. Identify your architecture and operating system:

    uname -m
    HOST_ID="$(. /etc/os-release && printf '%s-%s' "$ID" "$VERSION_ID")"
    printf '%s\n' "$HOST_ID"
    ls ~/epics/1.5.0/
    

    Require x86_64 and a directory matching HOST_ID exactly. Release 1.5.0 provides these trees; all use Base 7.0.10:

    Operating systemDirectory name
    Debian 12debian-12
    Debian 13debian-13
    Rocky Linux 8.10rocky-8.10
    Rocky Linux 10.2rocky-10.2
    Ubuntu 24.04 LTSubuntu-24.04
    Ubuntu 26.04 LTSubuntu-26.04

    Use the tree built for your system. The shared linux-x86_64 architecture name does not make binaries interchangeable between operating systems.

  3. Activate the matching tree in the current terminal:

    TREE="$HOME/epics/1.5.0/$HOST_ID/7.0.10"
    test -f "$TREE/setEpicsEnv.bash"
    source "$TREE/setEpicsEnv.bash"
    

    The script sets EPICS_PATH, EPICS_BASE, EPICS_MODULES, EPICS_HOST_ARCH, PATH, and LD_LIBRARY_PATH. On Debian 13, for example, EPICS_BASE ends in 1.5.0/debian-13/7.0.10/base and EPICS_HOST_ARCH is linux-x86_64.

    Source the script once in each terminal used for the exercises. To reduce its output, pass disable:

    source "$TREE/setEpicsEnv.bash" disable
    

Verification

In the activated terminal, inspect the tool paths and build identity:

command -v caget pvxget softIocPVX iocsh.bash
caget -h
iocsh.bash -h
cat "$TREE/.versions"

The four tools must resolve inside the selected 1.5.0 tree, and both help commands must succeed. .versions records the build timestamp and EPICS-env source commit. If a tool reports a missing shared library, check the package requirements for your operating system before proceeding.

Continue with Run your first IOC, Understand architecture and OS trees, and IOC startup choices.