Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021 
<== Date ==> <== Thread ==>

Subject: Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Mark Rivers <rivers@cars.uchicago.edu>, "core-talk@aps.anl.gov" <core-talk@aps.anl.gov>
Date: Mon, 18 Jun 2018 12:12:35 -0700
On 06/15/2018 02:40 PM, Mark Rivers wrote:
> One of the areaDetector optional plugins is in areaDetector/ADPluginEdge.  Its CONFIG_SITE contains this line:
> 
>  
> 
> INSTALL_LOCATION=$(AREA_DETECTOR)/ADCore
> 
>  
> 
> It thus installs its library, dbd, and .template file into ADCore. 

Ick!  IMO this sort of incremental re-build is a recipe for disaster.
Sooner or later you're going to accumulate some unanticipated installed
"state", and end up with an unreproducible build.

> Much to my surprise running “make uninstall” on EPICS 7 at the top level of ADPluginEdge deletes the ADCore/configure directory!  Needed to run “git checkout master .” to recover it.
> 
>  
> 
> I have removed that line from CONFIG_SITE because I don’t think it is what we really want to do anyway, but this definitely seems like a dangerous bug in EPICS 7.  That directory could have had local edits that were lost.

IMO "make uninstall" is inherently dangerous.


FYI, I've run into situations like this in the past where I can't/don't
use a proper package manager (the real solution), but want to do incremental
rebuilds.  Usually involving tools like GCC which take a long time to build.

With the EPICS makefiles a sort of proto package manager can be achieved by
using both INSTALL_LOCATION and FINAL_LOCATION.  Making a tar file of
each module in INSTALL_LOCATION, then untaring it in FINAL_LOCATION.
A clean "uninstall" can be achieved by wiping FINAL_LOCATION and untaring
each module (in order, in case of conflicts).

References:
Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Mark Rivers

Navigate by Date:
Prev: wrapped shared_ptr games Michael Davidsaver
Next: Re: Q: Structured argument types for PVA RPC service call Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021 
Navigate by Thread:
Prev: Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Dirk Zimoch
Next: Q: Structured argument types for PVA RPC service call Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021 
ANJ, 20 Jun 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·