Hi Amit,
On 10/17/2014 12:43 AM, Amit Chauhan wrote:
> The problem is that when my application's .munch file executes on the
> target, it flags following errors and stops:
>
> ld 0,0, "myIoc.munch"
> Warning: module 0x2474770 holds reference to undefined symbol
> _ZNSt9exceptionD2Ev.
> Warning: module 0x2474770 holds reference to undefined symbol
> __gxx_personality_v0.
> ld(): module contains undefined symbol(s) and may be unusable.
> value = 0 = 0x0
In the future, please post your primary errors first - the first missing
symbol above is an essential C++ support routine, and I think the second
is a symbol essential for code compiled by g++, both of which should be
included in the VxWorks OS image that you boot. Demangling the first
symbol name shows it to be the destructor for the std::exception class:
tux% c++filtppc _ZNSt9exceptionD2Ev
std::exception::~exception()
I remember getting this problem once, which I fixed by changing the
VxWorks Image Projects that build our bootable OS images to use the GNU
toolchain instead of the Diab one. Here's my commit to the mv6100 BSP
that changed the default setting to GNU:
> committer: Andrew Johnson <[email protected]>
> branch nick: bsp-mv6100
> timestamp: Tue 2014-08-12 17:32:26 -0500
> message:
> Change TOOL default to gnu
> diff:
> === modified file 'mv6100/Makefile'
> --- mv6100/Makefile 2010-12-08 18:53:51 +0000
> +++ mv6100/Makefile 2014-08-12 22:32:26 +0000
> @@ -40,7 +40,7 @@
>
> CPU = PPC32
> CPU_VARIANT = _ppc604_745x
> -TOOL = diab
> +TOOL = gnu
>
> TGT_DIR=$(WIND_BASE)/target
> include $(TGT_DIR)/h/make/defs.bsp
Unfortunately I don't think you can modify the toolchain from WorkBench
once you have created a VxWorks Image Project, you can only set it at
project creation time. I just posted a question about your missing
symbols on the Wind River support forum, and got back this response:
> Per VxWorks Kernel Programmer's Guide:
>
> WARNING: Wind River Compiler C++ and GNU C++ binary files are not
> compatible.
>
> Therefore, both VxWorks image and any C++ application must be
> compiled with the same toolchain i.e. either GNU or Wind River (Diab).
>
> Using different toolchains to build VxWorks image and C++ application
> will result in error during loading and/or in runtime. This
> configuration is not supported.
Note that EPICS will not build using the Diab compiler, so your only
option is to rebuild your VxWorks image with the GNU toolset.
- Andrew
--
People everywhere confuse what they read in newspapers with news.
-- A. J. Liebling
- Replies:
- RE: EPICS on vxWorks Amit Chauhan
- References:
- EPICS on vxWorks Amit Chauhan
- Re: EPICS on vxWorks Andrew Johnson
- RE: EPICS on vxWorks Amit Chauhan
- Navigate by Date:
- Prev:
areaDetector ADCore and ADBinaries R2-1 released Mark Rivers
- Next:
quadEM R5-0 now available 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: EPICS on vxWorks Amit Chauhan
- Next:
RE: EPICS on vxWorks Amit Chauhan
- 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
|