Hello again,
Thank you for your help.
I encounter anotger problem that could signify the end between eCos and
I for my project... :(
After having some simple examples working, i tried to make one using
Dynamic ELF loading (dlopen).
So I tried first to compile eCos from the template stm32f4discovery +
posix (that compiles), and then adding the package "Dynamic Loder". A
conflict is resolved, setting the header to <cyg/loader/dlfcn>,
but then with no more conflict the command Build / Library crash and
doesn't want to compile "services/loader/current/src/loader.cxx"
Do you see what does it come from ? I see in the traces some undefined
macros, but It doesn't seems to be the main problem.
By the way, I have seen through experimentations in order to resolve
this issue, a difference between CYGPKG_HAL_CORTEXM and CYGPKG_HAL_ARM.
So I would know : doesn't a cortexm platform be considered as an ARM one
? Why not ? Is it a cause of my problem ?
Cheers, and thank you again.
Valentin BOUSSON
end of traces :
==========
In file included from
~/ecos/packages/services/loader/current/src/loader.cxx:65:
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:351: error:
invalid use of incomplete type ‘struct Cyg_LoadObject_Proc’
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:77: error:
forward declaration of ‘struct Cyg_LoadObject_Proc’
make[1]: Leaving directory `~/ecos_tests/ecos_build/services/loader/current'
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor
‘Cyg_LoadObject::Cyg_LoadObject()’:
make: Leaving directory `~/ecos_tests/ecos_build'
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:357: error: type
‘Cyg_LoadObject_Proc’ is not a direct base of ‘Cyg_LoadObject’
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor
‘Cyg_LoadObject::Cyg_LoadObject(Cyg_LoaderStream&, cyg_uint32,
Cyg_LoaderMemAlloc*, Cyg_LoaderMemBlock*)’:
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:365: error: type
‘Cyg_LoadObject_Proc’ is not a direct base of ‘Cyg_LoadObject’
In file included from
~/ecos/packages/services/loader/current/src/dload.cxx:66:
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:351: error:
invalid use of incomplete type ‘struct Cyg_LoadObject_Proc’
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:77: error:
forward declaration of ‘struct Cyg_LoadObject_Proc’
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor
‘Cyg_LoadObject::Cyg_LoadObject()’:
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:357: error: type
‘Cyg_LoadObject_Proc’ is not a direct base of ‘Cyg_LoadObject’
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor
‘Cyg_LoadObject::Cyg_LoadObject(Cyg_LoaderStream&, cyg_uint32,
Cyg_LoaderMemAlloc*, Cyg_LoaderMemBlock*)’:
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:365: error: type
‘Cyg_LoadObject_Proc’ is not a direct base of ‘Cyg_LoadObject’
~/ecos/packages/services/loader/current/src/loader.cxx: In constructor
‘Cyg_Loader::Cyg_Loader(Cyg_LoaderMemAlloc*)’:
~/ecos/packages/services/loader/current/src/loader.cxx:126: error: no
matching function for call to
‘Cyg_CList_T<Cyg_LoadObject>::add_head(Cyg_LoadObject*&)’
~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:173: note:
candidates are: void Cyg_CList::add_head(Cyg_DNode*)
~/ecos/packages/services/loader/current/src/loader.cxx:128: error:
‘class Cyg_LoadObject’ has no member named ‘get_error’
~/ecos/packages/services/loader/current/src/loader.cxx: In member
function ‘cyg_code Cyg_Loader::load(Cyg_LoaderStream&, cyg_uint32,
Cyg_LoadObject**)’:
~/ecos/packages/services/loader/current/src/loader.cxx:160: error:
‘class Cyg_LoadObject’ has no member named ‘get_error’
~/ecos/packages/services/loader/current/src/loader.cxx:168: error: no
matching function for call to
‘Cyg_CList_T<Cyg_LoadObject>::add_tail(Cyg_LoadObject*&)’
~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:209: note:
candidates are: void Cyg_CList::add_tail(Cyg_DNode*)
~/ecos/packages/services/loader/current/src/loader.cxx:175: error:
‘class Cyg_LoadObject’ has no member named ‘get_error’
~/ecos/packages/services/loader/current/src/loader.cxx:186: error:
‘class Cyg_LoadObject’ has no member named ‘get_error’
~/ecos/packages/services/loader/current/src/loader.cxx:193: error: no
matching function for call to
‘Cyg_CList_T<Cyg_LoadObject>::remove(Cyg_LoadObject*&)’
~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:258: note:
candidates are: void Cyg_CList::remove(Cyg_DNode*)
~/ecos/packages/services/loader/current/src/loader.cxx: In member
function ‘CYG_ADDRESS Cyg_Loader::hash_lookup_addr(const char*)’:
~/ecos/packages/services/loader/current/src/loader.cxx:253: error:
‘class Cyg_LoadObject’ has no member named ‘hash_lookup_addr’
~/ecos/packages/services/loader/current/src/loader.cxx:258: error:
‘class Cyg_LoadObject’ has no member named ‘get_next’
~/ecos/packages/services/loader/current/src/loader.cxx: In constructor
‘Cyg_LoadObject_Base::Cyg_LoadObject_Base(Cyg_LoaderStream&, cyg_uint32,
Cyg_LoaderMemAlloc*)’:
~/ecos/packages/services/loader/current/src/loader.cxx:331: error:
‘CYG_ELF_MACHINE’ was not declared in this scope
~/ecos/packages/services/loader/current/src/dload.cxx: In function
‘void* dlsym(void*, const char*)’:
~/ecos/packages/services/loader/current/src/dload.cxx:178: error: ‘class
Cyg_LoadObject’ has no member named ‘symbol’
make[1]: *** [src/dload.o.d] Error 1
make[1]: *** Waiting for unfinished jobs....
~/ecos/packages/services/loader/current/src/loader.cxx: In member
function ‘void Cyg_LoadObject::relocate()’:
~/ecos/packages/services/loader/current/src/loader.cxx:767: error: ‘rel’
was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:770: error:
‘relsize’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:770: error:
‘error’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:770: error:
‘relent’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:773: error:
‘apply_rel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:777: error:
‘error’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:777: error:
‘rela’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:780: error:
‘relasize’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:780: error:
‘relaent’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:784: error:
‘apply_rela’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx: In member
function ‘void Cyg_LoadObject::relocate_plt()’:
~/ecos/packages/services/loader/current/src/loader.cxx:797: error:
‘pltrel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:799: error:
‘jmprel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:800: error:
‘pltrelsz’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:800: error:
‘error’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:803: error:
‘apply_rel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:807: error:
‘error’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:807: error:
‘pltrel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:809: error:
‘jmprel’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:810: error:
‘pltrelsz’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx:814: error:
‘apply_rela’ was not declared in this scope
~/ecos/packages/services/loader/current/src/loader.cxx: In member
function ‘virtual cyg_code Cyg_LoaderStream_File::seek(CYG_ADDRWORD)’:
~/ecos/packages/services/loader/current/src/loader.cxx:1045: warning:
comparison between signed and unsigned integer expressions
make[1]: *** [src/loader.o.d] Error 1
make: *** [build] Error 2
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss