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
~/epicsdestination for the clone. If your distribution is already installed elsewhere, use its directory instead of~/epicsbelow.
Get and activate the environment
-
Clone the public binary distribution into your home directory:
git clone --depth 1 https://github.com/jeonghanlee/EPICS-env-distribution.git ~/epics -
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_64and a directory matchingHOST_IDexactly. Release 1.5.0 provides these trees; all use Base 7.0.10:Operating system Directory name Debian 12 debian-12Debian 13 debian-13Rocky Linux 8.10 rocky-8.10Rocky Linux 10.2 rocky-10.2Ubuntu 24.04 LTS ubuntu-24.04Ubuntu 26.04 LTS ubuntu-26.04Use the tree built for your system. The shared
linux-x86_64architecture name does not make binaries interchangeable between operating systems. -
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, andLD_LIBRARY_PATH. On Debian 13, for example,EPICS_BASEends in1.5.0/debian-13/7.0.10/baseandEPICS_HOST_ARCHislinux-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.