[ECOS] Error ina dding a packeg: only .h visible!

Gary Thomas gary@mlbassoc.com
Sat Nov 11 13:27:00 GMT 2006


Please keep your replies on the list so that all may benefit.

Michele Portolan wrote:
> Thank you very much for the quick reponde. I tryied your suggestion and 
> I get this at compilation time:
> 
> make[1]: Entering directory 
> `/d/cygwin/home/portolan/testbenches/build/mingw_ecos/new_CR/tima_ft/current' 
> 
> make[1]: *** No rule to make target `src/compile', needed by 
> `libtarget.a.stamp'.  Stop.
> 
> what does it mean?

I think you typed the line incorrectly.  Compare what you've done
with similar lines in other CDL files - you'll see how to fix it.
For example, look at the RedBoot CDL file .../redboot/current/cdl/redboot.cdl

> 
> Query reponse: it was just an old file I used when I started tapering 
> with interruptions,and no more used. I forgot to exclude it from the cdl.
> 
> Gary Thomas wrote:
>> Michele Portolan wrote:
>>> I try once more because I am really stuck and my deadline 
>>> is....tomorrow!!!!
>>> I still cannot use the functions I added in a new package: I will try 
>>> to be as clear as possible:
>>> -- when building eCos my .c file is compiled
>>> -- when I compile e progrma linking on ecos libraries everything is 
>>> fine too (I can call my functions)
>>> -- when executing I get error
>>>
>>> If I debug with DDD I notice that the function defined in my packages 
>>> are empty! Looking up the souirce list I can find the .h, but not the 
>>> .c!! I think that is the problem, I charge only the prototype and not 
>>> the real functions...But where I am wrong? The file is compiled? 
>>> Maybe something amiss in the cdl file?
>>>
>>> Please someone help me, I cannto really go any further by myself!!!
>>>
>>> Michele
>>>
>>> Ps: here is the cdl file for my package:
>>>
>>> cdl_package CYGPKG_TIMA_FT {
>>>     display    "Tima funtionalities"
>>>     description "   Blah blah blah 1"
>>> # ====================================================================
>>> # OPTIONS
>>>
>>>
>>> cdl_component CYGPKG_TIMA_FT {
>>>    display       "Blah blah 2"
>>>    flavor bool
>>>    compile      rollback.c intr_rollback.S
>>>    default_value 1
>>>    requires CYGPKG_LIBC_SETJMP
>>>    description   " Blah blah blah 2.1"
>>>  
>>>        cdl_option CYGPKG_TIMA_FT_TRACE {
>>>            display       "Enables Trace assertions"
>>>            default_value 0
>>>            description   "
>>>                Blah blah 3"
>>>        }
>>>
>>> }
>>> }
>>>
>>> And here how I call it up from ecos.db
>>>
>>> package CYGPKG_TIMA_FT {
>>>    alias         { "blah blah 0" tima_ft rollback }
>>>    directory    tima_ft
>>>    script        tima_ft.cdl
>>>        description  "Blah blah 0.1"
>>> }
>>>
>>>
>>
>> Are your functions ending up in the final eCos application?
>> Do you have an applications that calls [at least one] directly?
>> If not, the linker may be throwing them out.
>>
>> Try changing your "compile" directive to look like this:
>>
>>   compile  -library=libextras.a rollback.c intr_rollback.S
>>
>> Then
>>
>>   ecosconfig tree
>>   make clean; make
>>
>> Query: what's up with the "intr_rollback.S" file?  eCos is designed
>> such that it's *very* rare to ever need to write anything in assembly.
>>
>>


-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list