Choose the install location and release
Set the install location before running an action in an EPICS-env clone.
Actions try to create it; query-only invocations inspect settings without
creating directories or generated files. The default is ${HOME}/epics.
Prerequisites
- A clone of EPICS-env. Run every command from the repository top.
- An absolute directory path that your user can create or write to.
python3onPATH;makestops while reading its configuration when it is missing.
-
In
configure/CONFIG_SITE.local, set the install location:echo "INSTALL_LOCATION=<install_location>" > configure/CONFIG_SITE.local<install_location>is the absolute path of the directory that holds every installed tree, such as/opt/epics.The file is untracked, so the setting survives a
git pull. ACONFIG_SITE.localin the directory that contains the repository applies to every clone in that directory;configure/CONFIG_SITE.localis read after it and wins. -
Optional: to install under a release number other than the default
1.4.0, addENV_RELEASE_VERSto the same file:echo "ENV_RELEASE_VERS=<release>" >> configure/CONFIG_SITE.local<release>names the first directory level below<install_location>. Trees with different release numbers sit side by side under<install_location>. -
To see where the installed tree goes, print its path:
make print-INSTALL_LOCATION_EPICSWith the default release, the output is:
<install_location>/1.4.0/debian-13/7.0.10With
<release>set to1.4.0-site, the output is:<install_location>/1.4.0-site/debian-13/7.0.10The path is
<install_location>/<release>/<os_id>-<os_version>/<base_version>.<os_id>and<os_version>are theIDandVERSION_IDvalues from/etc/os-release, and<base_version>is the version of Experimental Physics and Industrial Control System (EPICS) base pinned inconfigure/RELEASE. The output above is from a Debian 13 host. -
To check whether the build uses
sudo, printSUDO_INFO:make print-SUDO_INFOFor a location your user can create, the output is:
0A query reports
0when<install_location>is an existing directory whose parent path you can traverse, even if you cannot access the final directory. For an absent path, it checks search and create access at the nearest existing ancestor. It reports1for a non-directory or blocked path. This inspection cannot predict quota, read-only mount, or concurrent changes.Actions run the actual directory-creation probe. When that probe returns
1, make runs the module build and install steps, the module links, and thecommonIocshinstall throughsudo. The EPICS base build and install and the.versionsinstall never usesudo, so a complete install needs a<install_location>that your user can write. To use a system directory such as/opt/epics, create it and give your user ownership of it before you build. A query result of0does not guarantee permission to install into an existing directory.
Verification
-
Print the value in effect and where it comes from:
make PRINT.INSTALL_LOCATIONThe output names your path and the origin
file:INSTALL_LOCATION = <install_location> INSTALL_LOCATION's origin is file
Configuration variables and override files lists the defaults and the read order of the override files. To build into the chosen location, see Build and install the environment.