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

Reply via email to