EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
<== Date ==> <== Thread ==>

Subject: Re: Basic EPICS bootstrap (rant)
From: Ulrik Pedersen via Tech-talk <[email protected]>
To: Graeme Winter <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Wed, 8 Oct 2025 10:52:41 +0100
Hi Graeme,

The EPICS build system has a long and glorious history and yes, it is not very fashionable and a little bit manual to build modules. Fortunately modules are very stable and once you have built up an EPICS environment you typically will not need to update many modules often.

It sounds like what you are after is basically an EPICS package repository to enable easy installation of modules. There have been numerous attempts at building and maintaining such things over the years but this is really a non-trival amount of effort and most facilities have ended up with a bespoke solution, in many cases just by building EPICS & modules into a network file system (i.e. /dls_sw/prod/epics/)

There are some more attempts by the community to provide repositories:
  • EPICS containers is going quite strong. It includes a large selection of EPICS base & modules built into container images for both development and production
  • NSLS-II used to keep a Debian repo up-to-date but it seems the last supported distro was Debian Buster, so I guess this is no longer active
  • EPICS Sumo is another custom repo/installer application. Interestingly it is located not on github like most stuff today but on sourceforge!
  • ci-scripts is intended to run inside CI pipelines but presumably you can run the scripts locally to install a set of EPICS modules. This is updated regularly and probably my best recommendation to look into today.
  • Homebrew for Mac (and Linux now). This is really my own personal wish - to have a homebrew tap for easy EPICS installation on macos and for arm64. I haven't found this elsewhere so I did once a few years ago tinker and created my own. Eventually abandoned it because the CI was very complex, I hated the Ruby scripting, and the linting was very very strict and constantly broke builds: basically too much work for just me to build and maintain in my spare time. It might have got easier/better since(?) Here are the bits in case you're interested:
Cheers,
Ulrik


On Tue, 7 Oct 2025 at 19:56, Graeme Winter via Tech-talk <[email protected]> wrote:
Good afternoon

Working through 


It really feels like this is something which could be made _much_ easier by writing a kind of bootstrap script but also by the configure process being able to pick up stuff from the environment rather than having to hard-code every location multiple times in every configuration file (where the defaults are of course where the author does _their_ epics development) - the need for them to all correctly cross-reference is also an irritation

Before I scrape another few mm off my already suffering sanity - 

- _has_ anyone got a bootstrap script which will clone / install all the necessary / regular support modules
- am I holding it wrong / reading the wrong getting started guide

I note I can conda install epics-base but this _only_ gives epics base

That rant to one side, also, does anyone know how to address a missing symbol issue like

Undefined symbols for architecture arm64:
  "_pvar_func_vxi11RegisterCommands", referenced from:
      _cryo1_registerRecordDeviceDriver in cryo1_registerRecordDeviceDriver.o
ld: symbol(s) not found for architecture arm64

The symbol is indeed missing and would appear to be from asyn/vxi11/drvVxi11.c but does not appear to be built

This got me thinking I should re-do the NN steps to get back to here which then got me wondering about process itself…

Thanks Graeme

Replies:
Re: Basic EPICS bootstrap (rant) Anders Lindh Olsson via Tech-talk
References:
Basic EPICS bootstrap (rant) Graeme Winter via Tech-talk

Navigate by Date:
Prev: Python script to set start & end time of data browser Vishnu Patel via Tech-talk
Next: Re: Basic EPICS bootstrap (rant) Anders Lindh Olsson via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
Navigate by Thread:
Prev: Re: Basic EPICS bootstrap (rant) Han Lee via Tech-talk
Next: Re: Basic EPICS bootstrap (rant) Anders Lindh Olsson via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·