2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 <2019> 2020 2021 2022 2023 2024 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 <2019> 2020 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. |