Experimental Physics and Industrial Control System
On 9/5/14, 5:33 PM, Andrew Johnson wrote:
> On 09/05/2014 05:30 PM, J. Lewis Muir wrote:
>> On 9/5/14, 5:06 PM, Andrew Johnson wrote:
>>> Running that symbol through c++filt on a Mac gives the following
>>> unmangled name:
>>>
>>> woz$ c++filt __ZNSs4_Rep20_S_empty_rep_storageE
>>> std::string::_Rep::_S_empty_rep_storage
>>>
>>> Doing a web search on that implies that you need to link against
>>> libstdc++, so try adding this to the Makefile that builds
>>> simDetectorApp:
>>> OP_SYS_LDLIBS += -lstdc++
>>
>> Hi, Andrew.
>>
>> Thanks for the suggestion. Unfortunately, no dice; it still aborts.
>
> Did you see the -lstdc++ option on the command-line that generated the
> IOC? I may have the wrong Makefile variable if not. If you did, it may
> be some other library that needs the flag.
Hi, Andrew.
I investigated more, and I think the problem is that the libPvAPI.a
static archive included in areaDetector 1.9.1 was built against
stdlibc++ (i.e. GNU's C++ standard library) while Mac OS X Mavericks
(10.9) and Xcode 5 build against libc++ (i.e. LLVM's C++ standard
library) by default. The two implementations of the C++ standard
library are not binary compatible.
So, my options are to (1) hack areaDetector to not link with the PvAPI
library and avoid using the color converter plug-in and prosilica
driver, (2) get a new libPvAPI.a that is built against libc++, or (3)
build all of EPICS Base, areaDetector, etc. against stdlibc++ instead of
the default libc++.
Since I don't need the color converter plug-in nor the prosilica driver
right now, I've done (1). I'm doubtful that a new libPvAPI.a exists to
do (2), but if it does, that would hopefully be easy to drop in. To do
(3), I'd have to add the flag "-stdlib=libstdc++" to the compile and
link flags in the appropriate EPICS Base configure files for Darwin.
Regards,
Lewis
- Replies:
- RE: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Mark Rivers
- References:
- areaDetector 1.9.1 "dyld: Symbol not found" on Darwin J. Lewis Muir
- Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Andrew Johnson
- Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin J. Lewis Muir
- Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Andrew Johnson
- Navigate by Date:
- Prev:
Re: -D__STDC_VERSION__=199901L Johnson, Andrew N.
- Next:
RE: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Mark Rivers
- 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
- Navigate by Thread:
- Prev:
Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Andrew Johnson
- Next:
RE: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Mark Rivers
- 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