EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

EPICS Base

This is the main core of EPICS, comprising the build system and tools, common and OS-interface libraries, Channel Access client and server libraries, static and run-time database access routines, the database processing code, and standard record, device and driver support.

Bug and Vulnerability Reporting

Bugs discovered in EPICS Base can be reported via email to the tech-talk mailing list, or can be filed directly into the Github project. Private reporting of a security vulnerability can be achieved by filing a Private Security issue through the Launchpad bug tracker.

Code Management

Since April 2017 the EPICS Base source code has been managed using the Git version control software, and is hosted on GitHub in the epics-base project which also handles bug reports and pull requests. We have an older series of bug reports on Launchpad bug tracking. A mirror of the GitHub code repository is still available on Launchpad, but we recommend switching to GitHub.

Contributions to EPICS Base are welcome, and can be accepted as Pull Requests through the Github project, or by sending patches to the core-talk mailing list. Potential contributors should understand the implications of code portability to the different operating systems that we have to support, and are advised to discuss significant developments with the core development team before starting to work to avoid duplication or wasted effort.

Versions and Numbering

There are many different versions of Base in use at the various EPICS sites at any one time. Separate pages on this site (linked below) provide information relating to each major release series; the differences between minor release versions are covered within the relevent major release page.

The EPICS Version numbering system has evolved over the years so older version numbers may not mean quite the same thing as more recent ones, but any version with a zero component in the number such as 3.15.0.1 was a developer release and should not be used for production systems. The first release in the 3.15 series that qualified for production use was version 3.15.1.

The current major release of EPICS Base is called EPICS 7. This jump in the major version number is an attempt to recover from the problem that software was developed by the community called "EPICS V4" but that did not replace the Base-3.x code at all, V4 actually built on top of V3. EPICS 7 is a combination of the Base-3.16 code (with some additional functionality) along with most of the C++ modules from the EPICS V4 development, and we called it EPICS 7 to express the fact that it is combination of the two.

What do the descriptive terms next to the above series mean? Most of them don't have any formal definition, they're just to give an indication whether we're still developing new features for them and/or applying bug-fixes. Here's the main point: The core epics developers work for organizations that still use (or are under contract to maintain) those release series which are not marked as "closed". New features are normally developed for and added to the latest release series only (although that partly depends on who is writing the code), but bug-fixes and updated operating system support get applied to the earliest series that make sense.

Note that we can make no explicit guarantees about continued future maintenance. Once the APS Accelerator stops using 3.14 that series will probably be closed (unless someone else funds continuing maintenance of it). A similar rule applies to operating system support — if you are the only site using an OS or an older OS version you will have to step up to keep newer releases of Base running on it. This is all a question of funding, we can only work on what our employers are willing to pay for.

Operating System Hints

We don't recommend that new sites or projects use VxWorks. The support code in EPICS is for the older 6.x releases on PowerPC CPUs, and no existing site has been interested in making EPICS build or run on VxWorks 7. If you are using VxWorks 6.x, the vxWorks 6.x page provides help on configuring and patching vxWorks for use with EPICS. The Tornado page provides help for vxWorks 5.x/Tornado 2 users (this is not supported on EPICS 7). Look at the Tornado 2.2 and Linux page for building vxWorks 5.5 code on a Linux host. The Power PC page was written for sites upgrading from MC680x0 CPUs.

Users interested in running EPICS on RTEMS should email tech-talk for the latest information on how to configure and build for this operating system. The RTEMS page here provides some pointers to information about the host and target support available, but was written for RTEMS 4.x and is not useful for more recent OS versions. Eric Norum's Getting started with EPICS on RTEMS tutorial provides a step by step guide for newcomers to RTEMS 4.x.

The MS Windows page gives pointers to the different tools and compilers both commercial and free (as in beer) that can be used to build EPICS on Microsoft Windows systems, but there is much newer information available from the docs.epics-controls.org website.

ANJ, 25 Oct 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·