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

Subject: Re: undefined symbol when loading EPICS IOC on vxWorks
From: Andrew Johnson <[email protected]>
To: 王林 <[email protected]>
Cc: [email protected]
Date: Tue, 22 Nov 2011 12:09:49 -0600
Hi 王林,

On 2011-11-21 王林 wrote:
> ld < bin/vxWorks-ppc604_long/exmaple.munch
> Warning: module 0x1fffb390 holds reference to undefined symbol
>  __gxx_personality_v0.
> Warning: module 0x1fffb390 holds reference to undefined symbol
> _Unwind_Resume.
> Warning: module 0x1fffb390 holds reference to undefined symbol
> __cxa_pure_virtual.
> Warning: module 0x1fffb390 holds reference to undefined symbol _ZTIv.

My EPICS binaries compiled for vxWorks 6.8 need those same symbols to be 
provided by the vxWorks boot image.

> The EPICS version is 3.14.11, the vxWork version is 6.6 with a patch
> cum.vxw6-4.1.2-ppc.2010aug12.zip, the host is RHEL4.8, the target is
> mvme5100. And when I use "grep   _Unwind_Resume   vxWorks_6.6_1  
> vxWorks_6.6_1.sym" command, nothing matches. I have added the required and
> optional components when building vxworks image following this link
> http://www.aps.anl.gov/epics/base/vxWorks6.php , does it means that I need
> to add other components? But which components? How can I find them?

Unfortunately I can't be sure of that, but they are definitely related to C++ 
so you should try the other CPLUS components.  I can find those symbols 
defined in various vxWorks libraries under my vxworks-6.8/target/lib/ppc/PPC32 
directory, but unfortunately just knowing the library name doesn't tell you 
which components you need to include it:

tux% alias nmppc /usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-
linux2/bin/nmppc
tux% pwd
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/lib/ppc/PPC32
tux% nmppc gnu_standard/libstl.a | egrep '(__cxa_pure_virtual|_ZTIv|
__gxx_personality_v0|_Unwind_Resume)' | sort -u
00000000 T __cxa_pure_virtual
00000000 V _ZTIv
000006e4 T __gxx_personality_v0
         U __gxx_personality_v0
         U _Unwind_Resume
         U _Unwind_Resume_or_Rethrow
         U _ZTIv
tux% nmppc common/libgcc.a | egrep '(__cxa_pure_virtual|_ZTIv|
__gxx_personality_v0|_Unwind_Resume)' | sort -u
00002730 T _Unwind_Resume_or_Rethrow
00002928 T _Unwind_Resume

It is also possible that the patch you applied may require that you install 
another patch to provide updated libraries to match an update to the C/C++ 
compiler that it included (or vice versa).  If your versions of the libraries 
I mention above do *not* define these symbols like mine do then I think that's 
the cause of your problem.

- Andrew
-- 
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham


References:
undefined symbol when loading EPICS IOC on vxWorks 王林

Navigate by Date:
Prev: Re: TEMPE_VEAT Exception Steven M. Hartman
Next: RE: TEMPE_VEAT Exception Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: undefined symbol when loading EPICS IOC on vxWorks 王林
Next: Software controls position available at W.M. Keck Observatory Kevin Tsubota
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·