Nicolas Senaud

3 minute read

EPICS is the SCADA I am working with for months, it is mainly used to control big scientific installations, such as particul accelerator and big telescopes. It is written in C, and smoothly run on various kind of devices, such as PCs, VMEs or even iPhones, and it supports various types of operating systems too: GNU/Linux, VxWorks, FreeBSD, and of course OS X. My workstation runs Scientific Linux, and is preconfigured for EPICS, but I find more convenient to be able to use it on my personnal laptop, so here are a few notes about EPICS’s installation on my MacBook.

Configuration Warn

I am running OS X 10.10.2, with fish as shell (instead of bash by default on OS X) and [Homebrew]() as packet manager. The following instructions needs these tools if you would like to follow them step-by-step, but of course you should be able to adapt them easily with another shell or another packet manager.

The most recent EPICS version is 3.15.1 currently (in the v3 branch).

A Few Requirements

First you will need to install readline, but you will probably have it yet. If not, you can get it with this command: brew install readline.


Download it EPICS from the official website.

When downloaded, uncompress it in your Download folder.


When you build EPICS, it creates static links between binaries and libraries, so we will first copy installations files in the /opt directory. You can choose another one, but don’t forget to update configurations files in the following notes according to your choice.

$ sudo mv base-3.15.1/ /opt
$ cd base-3.15.1/
$ sudo make

When make finised to build EPICS, you can create a symbolic link between /opt/base-3.15.1 and /opt/epics. You may prefer to rename the directory, but with a symbolic link you will be able to easily keep different versions of EPICS by simply updating this link when required.

$ sudo ln -s /opt/base-3.15.1 /opt/epics

Set System Variables

In my case, I use fish so I added the following lines to my ~/.config/fish/ file, but you must adapt those to your shell’s config (for example use export instead of set -gx with Bash) to allow EPICS to run on your system.

set -gx EPICS_BASE /opt/epics
set -gx EPICS_HOST_ARCH darwin-x86

That’s all folks!

You should now be able to call EPICS programs, such as or caget without errors. As I run and test my programs on Linux currently I don’t know if EPICS needs other stuffs to run properly, but most commands are OK, and I will update this post if necessary.

  • Categories