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

Subject: Re: ABI compatibility with different C++ standard versions
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: "Konrad, Martin" <konrad at frib.msu.edu>, Ralph Lange <ralph.lange at gmx.de>, EPICS Core Talk <core-talk at aps.anl.gov>
Date: Thu, 8 Oct 2020 10:18:59 -0700
On 10/8/20 9:56 AM, Michael Davidsaver wrote:
> On 10/8/20 9:30 AM, Konrad, Martin via Core-talk wrote:
>> Hi Ralph,
>>> ITER needed to switch EPICS Base to use "-std=c++11" because without
>>> that setting, linking EPICS libraries would not work for other code that
>>> was compiled using C++11.
>> Weird. I tried to reproduce this by building pvxs (which builds using
>> -std=c++11) on CentOS 7 against EPICS 7 (built without -std=c++11).
>> Works fine for me.
>>
>> Are you linking against any libraries provided by a vendor as binaries?
>> Is there a way we can reproduce the problem?
> 
> @Ralph  Ah, I had forgotten about this...
> 
> @Martin  This isn't a question of libstdc++, but rather of how/where
> pvDataCPP gets 'shared_ptr<T>'.
> 
> https://github.com/epics-base/pvDataCPP/blob/320cc3c60b575fa49e49a21619472f01b8890049/src/misc/pv/sharedPtr.h#L62-L86

This means that all modules depending on pvDataCPP (which does not include PVXS)
must be built with the same selection of in sharedPtr.h.


Also, I realize that I have been getting this GCC situation confused with
a related linking problem I ran into OSX/clang when the compiler and linker
were using inconsistent implementations of the c++ standard library (from clang
vs. gcc).

https://github.com/mdavidsaver/epicscorelibs/blob/5d798854b398366cdaa4cf634651a14aad8f15d7/src/python/epicscorelibs/config.py#L114-L115

References:
ABI compatibility with different C++ standard versions Konrad, Martin via Core-talk
Re: ABI compatibility with different C++ standard versions Ralph Lange via Core-talk
Re: ABI compatibility with different C++ standard versions Konrad, Martin via Core-talk
Re: ABI compatibility with different C++ standard versions Michael Davidsaver via Core-talk

Navigate by Date:
Prev: Re: ABI compatibility with different C++ standard versions Michael Davidsaver via Core-talk
Next: Java CA client beacon/search timing issues Kasemir, Kay via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: ABI compatibility with different C++ standard versions Michael Davidsaver via Core-talk
Next: Java CA client beacon/search timing issues Kasemir, Kay via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 09 Oct 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·