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: Building EPICS base with Yocto
From: Lucas Magalhães via Tech-talk <[email protected]>
To: EPICS tech-talk <[email protected]>
Date: Fri, 29 Aug 2025 07:29:30 +0000
Hi Marcio,

Here at ESS we are using e3 so we build them separate and not on bitbake recipes.

Are you going for a vanilla epics experience where you build the ioc as a single binary artifact? IMO, this would be quite a challenge to achieve in a recipe, but possible still.
Maybe having all components (base and modules) as git submodules and a single Makefile to build everything would make it easier.

Now with a solution like e3 it would be possible to build each module in a recipe and have them installed as libraries that could be used with require later.

Lucas A. M. Magalhães

________________________________________
From: Tech-talk <[email protected]> on behalf of Han Lee via Tech-talk <[email protected]>
Sent: Thursday, August 28, 2025 8:24 PM
To: EPICS tech-talk
Subject: Re: Building EPICS base with Yocto

Hi Marcio,

This information might be outdated, but it could offer some guidance for your Yocto Linux configuration. Please check the old legacy repository at the following link:

https://github.com/icshwi/e3-base/tree/master/configure/os<https://urldefense.us/v3/__https://github.com/icshwi/e3-base/tree/master/configure/os__;!!G_uCfscf7eWS!ZkoLP57PPBUunPKjvn8_Gqz30eXysd8EEkLhWoacK57VOi2r48HexKrpIbyLzrQUHp1K_tVIQ1x8giq8g0re2aI$>

You'll find three examples there, which you should place in your base source folder. Additionally, Yocto toolchain names are defined in this file:

https://github.com/icshwi/e3-base/blob/master/configure/CONFIG_BASE<https://urldefense.us/v3/__https://github.com/icshwi/e3-base/blob/master/configure/CONFIG_BASE__;!!G_uCfscf7eWS!ZkoLP57PPBUunPKjvn8_Gqz30eXysd8EEkLhWoacK57VOi2r48HexKrpIbyLzrQUHp1K_tVIQ1x8giq8tsmtrMg$>

The ESS teams might have the up-to-date version if they are still using Yocto Linux for their embedded solution.

HTH,
Han

On Thu, Aug 28, 2025 at 9:42 AM Johnson, Andrew N. via Tech-talk <[email protected]<mailto:[email protected]>> wrote:
Hi Marcio,

I can’t help you specifically with Yocto or Bitbake, but for embedded IOC builds I would recommend turning off shared libraries for that target architecture and doing a static build of the IOC executable. You could even try whole-program-optimization if you know how.

That way you don’t have to worry about configuring shared library search paths since all the EPICS code will have been linked into the executable, and the IOC will probably start very slightly quicker as the OS doesn’t have to resolve all the internal symbols at load-time.

HTH,


- Andrew


--

Complexity comes for free, Simplicity you have to work for.


On 8/28/25, 11:10 AM, "Tech-talk" <[email protected]<mailto:[email protected]>> wrote:

Hello.

I’m familiar with the approach of building EPICS base in a host machine, selecting different architectures, and then configuring Yocto to access the EPICS libraries that are installed in the host. But was anyone able to build EPICS base using a Bitbake recipe inside Yocto?

Cheers,

Marcio


--
Jeong Han Lee, Dr.rer.nat.
Lawrence Berkeley National Laboratory
https://orcid.org/0000-0002-1699-2660<https://urldefense.us/v3/__https://orcid.org/0000-0002-1699-2660__;!!G_uCfscf7eWS!ZkoLP57PPBUunPKjvn8_Gqz30eXysd8EEkLhWoacK57VOi2r48HexKrpIbyLzrQUHp1K_tVIQ1x8giq8QS5Gvfc$>


References:
Building EPICS base with Yocto Paduan Donadio, Marcio via Tech-talk
Re: Building EPICS base with Yocto Johnson, Andrew N. via Tech-talk
Re: Building EPICS base with Yocto Han Lee via Tech-talk

Navigate by Date:
Prev: RE: Building modbus 3-4 on rhel-9 epics 3.15.9 Mark Rivers via Tech-talk
Next: Re: help requested about motorPI module Dariush Hampai 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: Building EPICS base with Yocto Han Lee via Tech-talk
Next: Building modbus 3-4 on rhel-9 epics 3.15.9 Sue Witherspoon 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 ·