Hmm, this looks strangely familiar. Let me guess - are you using Cygwin, with the newest gcc compiler? I remember hearing from David Gay that there's some sort of weird cygpath error (using cygpath -w instead of cygpath -m in /usr/local/bin/nescc) that causes the contents of files to be DELETED, even if the file still exists. You might want to check if RFM.h is an empty file or if tos.h is an empty file.

If you're using CVS, I'd suggest running a cvs -n update on your entire tinyos tree to see if any critical files might have been modified, and check that the file sizes aren't 0.

I've attached some more information that I wrote to the email regarding the problem I encountered... let me know if it's of any use to you.

Good luck,
Phoebus



karan wrote:

I am building a gateway application that will take msgs from the
computer via the UART and broadcast these via radio to the other motes
listening for these msgs.

I believe I have done the wiring correctly, but while compiling i get
the following output:




make mica2



compiling Gateway to a mica2 binary ncc -o build/mica2/main.exe -Os -board=micasb -target=mica2 -I%T/system -I%T/lib/FS -DCC1K_DEF_FREQ=916700000 -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x33 -Wnesc-all -finline-limit=100000 -fnesc-cfile=build/mica2/app.c Gateway.nc -lm /usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:45: C file RFM not found /usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:67: `TOS_ADC_SIGNAL_STRENGTH_PORT' undeclared here (not in a function)

***
/usr/local/TINYOS/tinyos-1.x/tos/system/CRCPacket.nc:171:
`ByteComm.txByteReady': async mismatch with declaration
/usr/local/TINYOS/tinyos-1.x/tos/interfaces/ByteComm.nc:75: previous
declaration of `ByteComm.txByteReady'
/usr/local/TINYOS/tinyos-1.x/tos/system/CRCPacket.nc:191:
`ByteComm.txDone': async mismatch with declaration
/usr/local/TINYOS/tinyos-1.x/tos/interfaces/ByteComm.nc:83: previous
declaration of `ByteComm.txDone'
/usr/local/TINYOS/tinyos-1.x/tos/system/CRCPacket.nc:200:
`ByteComm.rxByteReady': async mismatch with declaration
/usr/local/TINYOS/tinyos-1.x/tos/interfaces/ByteComm.nc:66: previous
declaration of `ByteComm.rxByteReady'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:177:
`ByteComm.txByte': async mismatch with declaration
/usr/local/TINYOS/tinyos-1.x/tos/interfaces/ByteComm.nc:55: previous
declaration of `ByteComm.txByte'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc: In
function `ByteComm.txByte':
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:188:
interface has no command or event named `power'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc: At top
level:
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:218:
`power' is not in interface `Control'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc: In
function `Control.power':
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:223:
interface has no command or event named `power'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:228:
interface has no command or event named `power'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc: In
function `Radio.rxBit':
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:454:
interface has no command or event named `power'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:484:
interface has no command or event named `power'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc: At top
level:
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:609:
`StrengthADC.dataReady': async mismatch with declaration
/usr/local/TINYOS/tinyos-1.x/tos/interfaces/ADC.nc:70: previous
declaration of `StrengthADC.dataReady'
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:83:
`Control.start' not implemented
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:83:
`Control.stop' not implemented
/usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:56: component
RFM not found
/usr/local/TINYOS/tinyos-1.x/tos/system/SecDedRadioByteSignal.nc:69:
expected component `RFM', but got component 'SecDedRadioByteSignal'
/usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:67: constant
expression expected
/usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:70: no match
/usr/local/TINYOS/tinyos-1.x/tos/system/RadioCRCPacket.nc:71: no match
make: *** [build/mica2/main.exe] Error 1

any ideas why RadioCRCPacket is including a file (RFM.h) which is not in
the tinyos tree?? I downloaded RFM.h from the cvs tree at sourceforge
http://cvs.sourceforge.net/viewcvs.py/tinyos/tinyos/tinyos-1.x-20030625/tos/system/RFM.h
and put it in the /tos/system directory.
But I am still getting all the errors after the *** above.


any ideas??

thanks,
karan

_______________________________________________
Tinyos-users mailing list
[EMAIL PROTECTED]
http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users


7/6/2004
********
DESCRIPTION
-----------
If you decided to update your cygwin lately, there is a good chance that 
running "make mica2" or the like will cause some of the files used in the 
compilation to be deleted.  This could be *.nc files, *.h files, and possibly 
others.  Worst of all, the deleted files may not necessarily be in the 
directory that your application resides in.


THE PROBLEM
-----------
        When you update cygwin, the chain of compilation tools used to make a 
NesC application will have problems recognizing improperly formatted file 
paths.  As of now, I do not know which package installed by cygwin does this 
(the cygwin package itself, or gcc, or others).  In any case, 
/usr/local/bin/nescc calls 'cygpath -w' which produces path strings that are 
no longer properly recognized by the compilation tools. 

        This affects:
* nesc tools released with TinyOS-1.1 (rpm package Nesc-1.1-1w) and possibly 
  ones later.
* Cygwin downloaded after 7/2, and probably those downloaded a little before 
  that (how far before?  I don't know).


THE FIX
-------
* edit /usr/local/bin/nescc to use 'cygpath -m' instead of 'cygpath -w'
  This occurs on line 201.
* restore any files that may have been deleted.  The easiest way: use cvs 
  update on your tinyos-1.x directory (and pray that no one committed broken 
  files recently).
  ~ The most probable place for broken files is in the tinyos-1.x/tos 
    directory and  the directory where you tried to compile the
    application.
  ~ Losing files in the tinyos-1.x/tos directory may lead to random looking 
    error messages (ex. if you lost tos.h, you will have a lot of strange 
    errors complaining that only commands and events can be defined in 
    interfaces in StdControl.nc.  See cygpath_blink_compile_error.txt for a 
    sample of the standard_error that was generated when compiling Blink.nc)
_______________________________________________
Tinyos-users mailing list
[EMAIL PROTECTED]
http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users

Reply via email to