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.
Maybe EPICS 3.14.12.1 is not compatible with vxWorks5.5.1 & PPC85XX platform.
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
>
- Replies:
- Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 Dirk Zimoch
- Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 William F. Steele
- 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
- Navigate by Date:
- Prev:
Re: Problem when cross-compiling epics base for vxWorks5.5 on win32-x86 J. Lewis Muir
- Next:
Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 Dirk Zimoch
- 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 to vxWorks5.5/MPC8572 Dirk Zimoch
- Next:
Re: Problem when loading epics3.14.12.1 application tovxWorks5.5/MPC8572 Dirk Zimoch
- 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
|