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

Subject: Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572
From: Dirk Zimoch <[email protected]>
To: 王林 <[email protected]>
Cc: [email protected]
Date: Mon, 25 Feb 2013 17:05:28 +0100
On 25.02.2013 16:43, 王林 wrote:
> Hello Dirk,
> Thanks for your reply. As you advice, this time I add these macros in configAll.h, but the kernel compiled does not include those symbols either.
> And my vxWorks image previous compiled for MPC7410(PPC604) processor with only "#define INCLUDE_CTORS_DTORS" macro (without the rest) did include those symbols. So I suspect maybe it is the problem of the gnu C++ library provided for PPC85XX in Tornado2.2. I also have checked the Tornado2.2s of two friends working in companies, and their libcplus.a and libgnucplus.a under PPC85XX/gnu are the same as mine, which does not provide those symbols.

If you have the macros in configAll.h but still don't get the symbols,
then I consider this a bug in vxWorks. Have you tried to send a TSR to
WindRiver?

Also make sure that the macros are not #undef'ed in the BSP (e.g. in
config.h).

> Maybe EPICS 3.14.12.1 is not compatible with vxWorks5.5.1&  PPC85XX platform.

EPICS 3.14 needs full C++ support in vxWorks. So PPC85XX is compatible
with EPICS 3.14 only if C++ is supported for this platform. But it would
be very surprising for me if C++ was not supported.

Please ask your WindRiver contact.

Dirk


> 
> 
> Lin Wang
> 
> 
> ----- Original Message -----
> From: "Dirk Zimoch"<[email protected]>
> To:<[email protected]>
> Sent: Monday, February 25, 2013 10:46 PM
> Subject: Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572
> 
> 
>> Hello 王林,
>>
>> You need full C++ support in your vxWorks kernel. This is not the default!
>>
>> I have:
>> #define INCLUDE_CTORS_DTORS         /* include constructors/destructors */
>> #define INCLUDE_CPLUS               /* include C++ support */
>> #define INCLUDE_CPLUS_IOSTREAMS     /* include basic iostreams classes */
>> #define INCLUDE_CPLUS_STL           /* include Standard Template Library
>> core */
>> #define INCLUDE_CPLUS_STRING        /* include string class */
>> #define INCLUDE_CPLUS_STRING_IO     /* include i/o for string class */
>> #define INCLUDE_CPLUS_COMPLEX       /* include complex number class */
>> #define INCLUDE_CPLUS_COMPLEX_IO    /* include i/o for complex number
>> class */
>> #define INCLUDE_CPLUS_IOSTREAMS_FULL/* include all of iostreams */
>>
>> You probably don't need *COMPLEX* for EPICS but better have the rest.
>>
>> Dirk
>>
>> On 23.02.2013 11:22, 王林 wrote:
>>> Hello,
>>> When I load an EPICS example application to the vxWorks5.5.1 running on
>>> a MPC8572 CPU board, "Undefined symbol" is reported as follows,
>>> ld<bin/vxWorks-mpc8572/example.munch
>>> Undefined symbol:
>>> clone__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_t)Undefined
>>> symbol: __tf9exception (binding 1 type 0)
>>> Undefined symbol: _vt$9bad_alloc (binding 1 type 0)
>>> Undefined symbol: __cp_push_exception (binding 1 type 0)
>>> Undefined symbol: __tf9bad_alloc (binding 1 type 0)
>>> Undefined symbol: unexpected__Fv (binding 1 type 0)
>>> Undefined symbol: __uncatch_exception (binding 1 type 0)
>>> Undefined symbol: __tfv (binding 1 type 0)
>>> Undefined symbol: _t24__default_alloc_template2b1i0$_S_free_list
>>> (binding 1 type 0)
>>> Undefined symbol: __rtti_user (binding 1 type 0)
>>> Undefined symbol: __rtti_si (binding 1 type 0)
>>> Undefined symbol: _$_9bad_alloc (binding 1 type 0)
>>> Undefined symbol: __check_eh_spec (binding 1 type 0)
>>> Undefined symbol: __get_eh_context (binding 1 type 0)
>>> Undefined symbol: __sjthrow (binding 1 type 0)
>>> Undefined symbol:
>>> replace__t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_t)Undefined
>>> symbol: terminate__Fv (binding 1 type 0)
>>> Undefined symbol:
>>> _t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2)Undefined
>>> symbol: _vt$13runtime_error (binding 1 type 0)
>>> Undefined symbol: __start_cp_handler (binding 1 type 0)
>>> Undefined symbol:
>>> _t24__default_alloc_template2b1i0$_S_node_allocator_lock (binding 1 type
>>> )Undefined symbol: __cp_pop_exception (binding 1 type 0)
>>> Undefined symbol: __ti9exception (binding 1 type 0)
>>> Undefined symbol: _vt$9exception (binding 1 type 0)
>>> Undefined symbol: __builtin_vec_new (binding 1 type 0)
>>> Undefined symbol: __eh_rtime_match (binding 1 type 0)
>>> Undefined symbol: __builtin_vec_delete (binding 1 type 0)
>>> Undefined symbol: __rtti_class (binding 1 type 0)
>>> Undefined symbol: __builtin_delete (binding 1 type 0)
>>> Undefined symbol: __terminate (binding 1 type 0)
>>> Undefined symbol: __builtin_new (binding 1 type 0)
>>> Undefined symbol: _vt$11logic_error (binding 1 type 0)
>>> Undefined symbol: __eh_alloc (binding 1 type 0)
>>> ld error: Module contains undefined symbol(s) and may be unusable.
>>>
>>> Checking the vxWorks image, it indeed does not include these symbols.
>>> And use "grep -r" to check the gnu library on the vxWorks host, the
>>> library files libcplus.a and libgnucplus.a under
>>> Tornado2.2/target/lib/ppc/PPC403/gnu, PPC405/gnu, PPC440/gnu,
>>> PPC603/gnu, PPC604/gnu and PPC860/gnu do provide these symbols, but the
>>> libcplus.a and libgnucplus.a under Tornado2.2/target/lib/ppc/PPC85XX/gnu
>>> directory do not provide, which seems to cause the above error.
>>> Do you have encountered such a problem before?
>>> Thanks,
>>> Lin Wang
>>


References:
Problem when loading epics3.14.12.1 application to vxWorks5.5/MPC8572 王林
Re: Problem when loading epics3.14.12.1 application to vxWorks5.5/MPC8572 Dirk Zimoch
Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 王林

Navigate by Date:
Prev: Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 王林
Next: Compiling MEDM and Striptool on Ubuntu 1204 Kohler
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 王林
Next: Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 William F. Steele
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·