Build EPICS Base
This is the main core of EPICS, which includes the build system and tools, common and operating system interface libraries, channel access client and server libraries, static and runtime database access routines, database processing code and standard dataset, device and driver support.
2 EPICS Base Structure
2.1 Acquiring and Unpacking the EPICS Source
epics@workstation:~$ cd epics
epics@workstation:~/epics$ wget https://epics-controls.org/download/base/base-7.0.3.tar.gz
Alternative: wget https://epics-controls.org/download/base/base-3.15.6.tar.gz
epics@workstation:~/epics$ tar -xf base-7.0.3.tar.gz
2.2 Set environment variables
epics@workstation:~/epics/base-7.0.3/startup$ export EPICS_HOST_ARCH=$(./EpicsHostArch)
epics@workstation:~/epics/base-7.0.3/startup$ printenv EPICS_HOST_ARCH
For this installation, linux-x86_64 is the EPICS host architecture as returned from the perl script EpicsHostArch.pl. Substitute the correct host architecture as necessary throughout this documentation.
The export command above will be useful for future software development. Add it to the ~/.bashrc file with a text editor (such as nano ~/.bashrc).
2.3 Install Packages
2.4 Disable command-line editing and history in iocsh
Comment out all COMMANDLINE_LIBRARY declarations in file CONFIG_SITE.Common.linux-x86_64
Skipping this step may result in a failed build.
#COMMANDLINE_LIBRARY = READLINE
#COMMANDLINE_LIBRARY = READLINE_NCURSES
#COMMANDLINE_LIBRARY = READLINE_CURSES
epics@workstation:~/epics/base-7.0.3/configure/os$ nano CONFIG_SITE.Common.linux-x86_64
2.5 Build the base
Remove all files and directories from the previous build.
If you write the command -j x after the make command, several threads can be started at the same time. We recommend at least as many threads as there are cores in the system. So use your core number or more for x.
2.6 Permanently set path to EPICS base
Add the following line to the end and save.
Open new terminals to invoke changes.