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