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: Additional RELEASE file checks
From: "Konrad, Martin" <konrad@frib.msu.edu>
To: Hugo Slepicka <hhslepicka@gmail.com>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Thu, 6 Apr 2017 01:00:42 +0000
Hi Hugo,
Debian-packaged support modules usually install into /usr/lib/epics.
Thus this directory is shared between EPICS Base and the support modules
(package dependencies make sure that all support modules in this
directory have been build against the Base version in this directory).
On development machines RELEASE files often look similar to Michael's
example in the commit - most of the packages are installed using Debian
packages but the ones you are working on are compiled manually in other
directories.

I'm not familiar with the actual reasons behind that change so take the
following with a grain of salt:

I guess the intention for introducing this check was to prevent
developers from mixing libraries build as Debian packages and manually
built ones like in the following example:

StreamDevice (from Debian package in /usr/lib/epics)
Asyn (manually build in /home/foo/asyn)
Base (from Debian package in /usr/lib/epics)

Note that in this case (due to Debian package dependencies) Asyn would
also be installed from a Debian package in /usr/lib/epics.

This could cause problems due to the fact that the Debian packages
provide _shared_ libraries (they also provide static libs but that
doesn't matter in this context). In the case above you would link your
IOC against the StreamDevice shared lib (which pulls in the Asyn shared
lib from /usr/lib/epics) while also linking against the Asyn in
/home/foo/asyn. This might cause problems.

Preventing users from specifying the same path multiple times in
non-consecutive lines prevents this problem.

Regards,

Martin

-- 
Martin Konrad
Control System Engineer
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824-1321, USA
Tel. 517-908-7253
Email: konrad@frib.msu.edu

Navigate by Date:
Prev: Re: Additional RELEASE file checks Michael Davidsaver
Next: Re: How to ignore ACK character in response (motor-6-9, asyn-4-30) Torsten Bögershausen
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: Additional RELEASE file checks Michael Davidsaver
Next: Python CaChannel related modules Wang Xiaoqiang (PSI)
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, 06 Apr 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·