EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Base 3.14.12.5 make uninstall not removing bin or lib
From: "Baker, Keith \(DLSLtd, RAL, LSCI\) via Core-talk" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Thu, 7 Nov 2019 10:01:24 +0000

After updating from R3.14.12.3 or R3.14.12.7 I now find that a “make uninstall” does not remove INSTALL_LOCATION_BIN or INSTALL_LOCATION_LIB.

 

In RULES_TOP the cleandirs: target checks if those directories are empty and if so removes them, but the check seems to fail even though the directories should have just been emptied by the uninstall: target.

 

This used to work until this change was introduced in R3.14.12.5,

 

-archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))

-              @$(MAKE) -f Makefile cleandirs

+archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) | cleandirs

 

See commit 2a6714fd03199db58ee14a546c907aa9b13b2c3d 2015-03-07 00:14:59 “configure: Cosmetic changes only, comments & spacing.”

 

It seems as if some multiple threading is going on and the cleandirs recipe checks if the directories are empty before the uninstall is finished. If I run “make uninstall” a second time INSTALL_LOCATION_BIN and INSTALL_LOCATION_LIB are removed.

 

Before the change above it forced the sequence where the uninstall prerequisite is executed before the cleandirs in the recipe.

With the cleandirs moved to an order only prerequisite, I am not exactly sure how make processes this. Despite the name I think it makes the order undefined, which is not what we want.

 

I appreciate the tools evolve and we may have to adjust how we use them, but this looks like a change with good intentions but with unintended consequences.

 

I do not think I am deliberately enabling any optimisation, such as running “make-j4 uninstall”, but should I deliberately turn off optimisation somehow?

 

Should I be using the realuninstall target?

 

Is this a bug?

I think it persists right through to later versions like R3.15.3 and R7.

 

Thanks.

Keith Baker

Diamond Light Source Ltd

 

-- 

This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
 


Replies:
Re: Base 3.14.12.5 make uninstall not removing bin or lib Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: RE: Circular Mark Rivers via Core-talk
Next: checkRelease problem Zimoch Dirk (PSI) via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Circular Mark Rivers via Core-talk
Next: Re: Base 3.14.12.5 make uninstall not removing bin or lib Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024