EPICS Controls 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  2018  2019  2020  2021  2022  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: Why does libca.so depend on libreadline.so?
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: Simon Rose <Simon.Rose at ess.eu>, "Dmitry Yu. Bolkhovityanov" <D.Yu.Bolkhovityanov at inp.nsk.su>, Andrew Johnson <anj at anl.gov>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Sat, 13 May 2023 08:15:18 -0700
On 5/12/23 07:09, Simon Rose via Tech-talk 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.

I guess my attempt to clarify has had the opposite effect...

libCom has long had an _optional_ dependency on libreadline (dating back to 2000 at the latest).

As has been said, this dependency can be bypassed when building epics-base by setting
"COMMANDLINE_LIBRARY = EPICS" in appropriate places under configure/

git grep 'COMMANDLINE_LIBRARY\s*=' -- configure/

... will find many examples.

Historically, this dependency was often not enabled by default because initially there was no
attempt to automatically detect the presence of "readline.h".  Then at attempt was made with
$(wildcard in Makefile, which didn't work consistently.

My PR #254 changes the auto-detection scheme to use the __has_include() pre-processor feature
of newer C and C++ standards, which does a better job of finding readline.h.

https://github.com/epics-base/epics-base/pull/254


References:
Why does libca.so depend on libreadline.so? Dmitry Yu. Bolkhovityanov via Tech-talk
Re: Why does libca.so depend on libreadline.so? Michael Davidsaver via Tech-talk
Re: Why does libca.so depend on libreadline.so? Dmitry Yu. Bolkhovityanov via Tech-talk
Re: Why does libca.so depend on libreadline.so? Han Lee via Tech-talk
Re: Why does libca.so depend on libreadline.so? Dmitry Yu. Bolkhovityanov via Tech-talk
Re: Why does libca.so depend on libreadline.so? Andrew Johnson via Tech-talk
Re: Why does libca.so depend on libreadline.so? Dmitry Yu. Bolkhovityanov via Tech-talk
Re: Why does libca.so depend on libreadline.so? Simon Rose via Tech-talk

Navigate by Date:
Prev: Re: Why does libca.so depend on libreadline.so? Dmitry Yu. Bolkhovityanov via Tech-talk
Next: Re: Why does libca.so depend on libreadline.so? Michael Davidsaver via Tech-talk
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  <20232024 
Navigate by Thread:
Prev: Re: Why does libca.so depend on libreadline.so? Mark Rivers via Tech-talk
Next: Job Opportunity at the Canadian Light Source Gillian Black via Tech-talk
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  <20232024 
ANJ, 13 May 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·