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 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
<== Date ==> <== Thread ==>

Subject: Re: Multiple OS Build
From: Andrew Johnson <anj@aps.anl.gov>
To: <tech-talk@aps.anl.gov>
Date: Mon, 9 Jan 2017 12:06:57 -0600
Hi Hugo,

On 01/09/2017 11:36 AM, Hugo Slepicka wrote:
> How is the community handling cases similar to rhel7-x86_64 versus
> rhel6-x86_64 given that"EPICS_HOST_ARCH" returns "linux-x86_64" for both?
> 
> One possible solutions would be to use something like:
>        <shared_path>/<os_version>/base/.../<EPICS_HOST_ARCH>/...
>        - where os_version would be: rhel5, rhel6, deb7, deb8, etc.

That effectively involves having different installations of Base for
each OS version. Possible, but can be confusing.

The approach that we use here at APS for extensions such as MEDM (which
we install on a shared drive) is to always build these tools on the
oldest OS version that we currently support, and ensure that any newer
OSs always install the necessary backwards-compatibility packages that
provide older .so versions of the system libraries so those older OS
binaries will run properly on the newer OS. This works for us on RHEL,
but I don't know if Debian provides those kinds of packages. This may
not work if you have a mix of RHEL and DEB distro's, but you might be
able to combine this with the approach below.

> Another solution would be to apply a local patch to the EPICS building
> system to return a specific value for EPICS_HOST_ARCH including the
> <os_version>, e.g. rhel6-x86_64, resulting in something like this:
>        <shared_path>/base/.../<NEW_EPICS_HOST_ARCH>/...

You can set the EPICS_HOST_ARCH environment variable in some system
configuration file(s) such as /etc/profile.d/epics.sh to avoid having to
patch the base/startup/EpicsHostArch* files since they aren't used if
that variable is already set. Then you can adopt the solution Mark
Rivers described of using host-arch aliases and creating
base/configure/os/CONFIG.* files for your different OS versions.

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

Replies:
Re: Multiple OS Build Ralph Lange
References:
Multiple OS Build Hugo Slepicka

Navigate by Date:
Prev: RE: Multiple OS Build Mark Rivers
Next: RE: Asyn and devices with changing register map Mooney, Tim M.
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
Navigate by Thread:
Prev: RE: Multiple OS Build Mark Rivers
Next: Re: Multiple OS Build Ralph Lange
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
ANJ, 14 Feb 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·