EPICS Controls Argonne National Laboratory

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: Re: Builds failing in Jenkins
From: Michael Davidsaver via Core-talk <[email protected]>
To: "Johnson, Andrew N." <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Wed, 11 Dec 2019 13:34:14 -0800
On 12/11/19 11:10 AM, Johnson, Andrew N. wrote:
> On 12/11/19 12:52 PM, Michael Davidsaver wrote:
>> On 12/11/19 10:26 AM, Johnson, Andrew N. via Core-talk wrote:
>>> I think we're going to have to revert the commit 2e89a60c2dd405f from Base
>> So there is no other way for Ralph to find out about this failure.
> I'm not scolding Ralph, just saying that IMHO these changes aren't going to work since they assume C++11.

In fact only the c++11 build is failing on travis...

https://travis-ci.org/epics-base/epics-base/builds/623682122

also the older MSVC builds

https://ci.appveyor.com/project/epics-base/epics-base/builds/29468312

Based on this

https://sourceforge.net/p/predef/wiki/Libraries/

The issue is probably with _CPPLIB_VER<=600

>>> since it modifies source files that get compiled with older C++ compilers on our supported platforms. The two previous commits were in the posix/epicsMath.h file which doesn't get compiled on those targets so arguably may use features that the general C++ sources can't.
>> Seems like a difference between libc++ implementations since similarly old RTEMS builds succeed.
>>
>> Still, the fix will be the same.  Copious #ifdef
> The reason we have OS-specific versions of epicsMath.h is precisely to /avoid/ having to have copious workarounds and #ifdefs elsewhere — the ugly code should only have to appear in libCom. The epicsMath.h headers were originally created to declare epicsNAN and epicsINF, and to make finite(), isinf() and isnan() usable by any code that includes it.

Unfortunately, as is so often the case, OS_CLASS isn't the right granularity.
Even POSIX=YES doesn't help with code sharing between WIN32 and vxWorks,
which are the two target where the Dinkumware c++ library appears.

Replies:
Re: Builds failing in Jenkins Johnson, Andrew N. via Core-talk
References:
Build failed in Jenkins: epics-base-3.15-vx69 #411 APS Jenkins via Core-talk
Builds failing in Jenkins Johnson, Andrew N. via Core-talk
Re: Builds failing in Jenkins Michael Davidsaver via Core-talk
Re: Builds failing in Jenkins Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Re: Builds failing in Jenkins Johnson, Andrew N. via Core-talk
Next: Re: Builds failing in Jenkins 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 
Navigate by Thread:
Prev: Re: Builds failing in Jenkins Johnson, Andrew N. via Core-talk
Next: Re: Builds failing in Jenkins 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 
ANJ, 11 Dec 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·