1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | 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 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Why does libca.so depend on libreadline.so? |
From: | "Dmitry Yu. Bolkhovityanov via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Simon Rose <Simon.Rose at ess.eu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 12 May 2023 21:29:31 +0700 (+07) |
Hi Simon, On Fri, 12 May 2023, Simon Rose wrote:
Hi Dmitry - I do not get the same results as you. When I build various version of EPICS base (e.g. 7.0.4, 7.0.5) for linux-x86_64, libCom also depends on readline at that point. I don't think the change that Michael linked is the source of this dependency.
The key is 7.0.7: even 7.0.6.1's libCom.so does have a dependency on libreadline.so, while 7.0.7 do not.
How Michael's patch achieves such an effect -- that's another question. I still don't understand the mechanism; I even did a "diff -Naurb base-7.0.6.1 base-7.0.7" (just sources, of course) and there's nothing regarding "readline" besides what patch does.
In short -- as I understood it -- the patch just moves the "readline detection" from makefiles (which checked for .../include/readline/readline.h presence) into .c-files (via __has_include() builtin).
But how the detection method (which is orthogonal to dependence) manages to relieve libCom.so from libreadline.so dependency -- I yet have to fugure out.
With best regards, Dmitry