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  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS
From: Torsten Bögershausen <[email protected]>
To: Andrew Johnson <[email protected]>, <[email protected]>
Date: Thu, 28 Apr 2016 06:33:30 +0200


On 27/04/16 17:28, Andrew Johnson wrote:
On 04/27/2016 10:06 AM, Michael Davidsaver wrote:
So strictly speaking Base should never have depended on this behavior.
In fact beginning with Base 3.15.0.1, and soon to be included in
3.14.12.5, it does not.

http://bazaar.launchpad.net/~epics-core/epics-base/3.14/revision/12486

Given that newer versions of Base will build, and that this change has
already found its way into an Ubuntu LTS release, I don't think it's
worth pursuing another change to glibc.

According to the Linux manpage, finite() was originally a BSD
floating-point classification function which takes a double. There were
equivalents available for float and long double with different names.
All the epicsMath.h code is trying to do is ensure that we provide a
definition of finite(), using isfinite() where it exists. I see no
reason to check GLIBC versions, we don't need it to be that efficient.

I am committing this change to the 3.14 branch, so it will appear in the
forthcoming 3.14.12.6 release:

  #ifdef isfinite
  #  undef finite
-#  define finite(x) isfinite(x)
+#  define finite(x) isfinite((double)x)
What happens if we have someting in the syle

finite(y + z)

In other words, I think that the "x" deserves () around it:
+# define finite(x) isfinite((double)(x))


References:
EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Abdalla Ahmad
Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Michael Davidsaver
Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Michael Davidsaver
RE: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Abdalla Ahmad
Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Michael Davidsaver
Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Andrew Johnson

Navigate by Date:
Prev: stream Device I/O error Gofron, Kazimierz
Next: Question about relational database setup ? lzfneu
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS Andrew Johnson
Next: Re: EPICS 3.14.12.3 Build Problems with the new Ubuntu 16.04 LTS mrkraimer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·