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  <20142015  2016  2017  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  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin
From: Mark Rivers <[email protected]>
To: "'J. Lewis Muir'" <[email protected]>, Andrew Johnson <[email protected]>, "[email protected]" <[email protected]>
Date: Mon, 8 Sep 2014 19:09:19 +0000
Note that in areaDetector 2-0 and later the color convert plugin no longer depends on libPvAPI.a.  So you would just need to not build the Prosilica driver.

The color conversion code in libPvAPI is still available, but only for AVT/Prosilica cameras.  There is also similar logic available in the Point Grey driver for their cameras.  Both of these thus allow sending Bayer color images from the camera to the driver, and converting to RGB on the host.  This reduces the network bandwidth required by a factor of 3 compared to sending RGB images from the camera.  The tradeoff is a somewhat more CPU time on the host but with no loss of color image quality.

Mark


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of J. Lewis Muir
Sent: Monday, September 08, 2014 12:54 PM
To: Andrew Johnson; [email protected]
Subject: Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin

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


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
Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin J. Lewis Muir

Navigate by Date:
Prev: Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin J. Lewis Muir
Next: mbboDirect problems Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin J. Lewis Muir
Next: -D__STDC_VERSION__=199901L Pearson, Matthew R.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·