Hi Yusnaidi, It looks like you have not installed everything. My suggestions only work to avoid problems with Java, i.e., with the newest tinyos.jar file you do not need to compile the TinyOS Java native libraries yourself. You still need a complete TinyOS installation to compile the TinyOS code (i.e., the programs that will run on the motes).
Did you install the nesc compiler? You'll also need the tools for the microcontroller of your platform (e.g., avr tools for MicaZ). http://docs.tinyos.net/index.php/Installing_tinyos-2.x_on_Mac_OS_X_%28Tiger_%26_Leopard%29 Cheers, Urs On 03/25/2011 01:14 PM, Yusnaidi Md Yusof wrote: > Hi Urs, > > I have changed the classpath to use the explicit classpath. I also had > saved the tinyos.jar file the one you gave in the link to > /tinyos-2.x/support/sdk/java/. I have checked the classpath by issuing > command echo $CLASSPATH and got the following output: > .:/Users/yusnaidi/tinyos-2.x/support/sdk/java/tinyos.jar. > > I then compile the Blink application but still got these errors: > ------------------------ > /bin/sh: tos-ident-flags: command not found > mkdir -p build/micaz > compiling BlinkAppC to a micaz binary > ncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow > -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb > -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=100000 > -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' > -fnesc-dump='referenced(interfacedefs, components)' > -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm > make: ncc: No such file or directory > make: *** [exe0] Error 1 > -------------------------- > > I really confused of two errors from the above compilation errors > messages: 1. "/bin/sh: tos-ident-flags: command not found" and 2. "make: > ncc: No such file or directory". What that suppose to mean? > > Thanks. > > Yusnaidi. > > > On Fri, Mar 25, 2011 at 10:45 AM, Urs Hunkeler <urs.hunke...@epfl.ch > <mailto:urs.hunke...@epfl.ch>> wrote: > > Hi Yusnaidi, > > You need to add the tinyos.jar file in the class path. If you do not > specify the .jar file, Java will only look for class files in the > given directory, it will not automatically add the .jar files. > Replace the path to your tinyos directory with the absolute path to > the tinyos.jar file (including tinyos.jar at the end). > > If you use the latest tinyos.jar file (downloaded from my link) you > do not need to install anything else. You will get some warnings, > but everything should work. > > Assuming you have overwritten the old tinyos.jar file, set the > CLASSPATH explicitely to: > > export > CLASSPATH=.:/Users/yusnaidi/tinyos-2.x/support/sdk/java/tinyos.jar > > And let us know how it works. > > > Cheers, > Urs > > > > On 03/25/2011 11:26 AM, Yusnaidi Md Yusof wrote: > > Hi Urs, > > I have set the classpath accordingly and when I issue command 'echo > $CLASSPATH', I got the following output: > :/Users/yusnaidi/tinyos-2.x/support/sdk/java. I guess that is > correct, > which I assume the system knows to find the tinyos.jar classfile in > following that path. Do I? > > Then, I also had replace the existing tinyos.jar file in the > 'tinyos-2.x/support/sdk/java/' folder with the tinyos.jar file > you gave > through the link. I observed that this new tinyos.jar file has > additional classes in the '/net/tinyos/util' which two of them are: > macosx_universal_getenv.lib and macosx_universal_toscomm.lib. > > Assuming all sets, I then, try to compile the Blink application > in the > /tinyos-2.x/apps/Blink folder. However, I got these errors: > ---------------------- > /bin/sh: tos-ident-flags: command not found > mkdir -p build/micaz > compiling BlinkAppC to a micaz binary > ncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow > -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c > -board=micasb > -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=100000 > -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' > -fnesc-dump='referenced(interfacedefs, components)' > -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm > make: ncc: No such file or directory > make: *** [exe0] Error 1 > ----------------------- > > Do I still missed something? Do I still need to do the 'make' > and intall > the native libraries in the '/tinyos-2.x/tools' folder? > > BTW, I have also renamed both macosx_universal_getenv.lib and > macosx_universal_toscomm.lib files to new name: > libtoscomm.jnilib and > libgetenv.jnilib. Is this is what I should do? Then, where can I > copy > them? because when I issue command "tos-locate-jre --jni", I got ths > error: "-bash: tos-locate-jre: command not found". How can I > solve this? > > Many thanks for your kind help. > > Yusnaidi > > > > On Thu, Mar 24, 2011 at 4:44 PM, Urs Hunkeler > <urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch> > <mailto:urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch>>> wrote: > > Hi Yusnaidi, > > I've had problems previously compiling on the Mac myself. My > particular problems are with the gnu make, which seems to ignore > environmental variables for some reason (I'm not an expert on gnu > make). So I cannot really help you with the error messages. If you > just want to use the libraries, you can use the tinyos.jar. > > If you decide to use tinyos.jar, you don't even have to install any > libraries. The latest version will automatically extract the native > libraries to a temporary file and load it from there (ignore the > warnings, or read them to understand how it works). All you have to > do is include tinyos.jar in your classpath (e.g., by adding a line > like "export CLASSPATH=/my/path/to/tinyos.jar:${CLASSPATH}" to the > appropriate startup script). > > If you want to properly install the native libraries, rename them to > libtoscomm.jnilib and libgetenv.jnilib. You can then copy them to > the directory shown by "tos-locate-jre --jni". > > If you want to know more, can you download and run the following > program, then send me its output? > http://www.schlangenstein.ch/tosruntime.jar > > Cheers, > Urs > > > > On 03/24/2011 05:17 PM, Yusnaidi Md Yusof wrote: > > Hi Urs, > What I meant was I got so many error messages after issuing the > './configure', 'make', and 'sudo make install' commands. > Do I missed settings any enviroment variables possibly? or etc... > I am a bit confuse where I can use the tinyos.jar file. I have > uncompressed the file and found that there are two universal files > located in the tinyos->net->tinyos->util folder which are: > macosx_universal_getenv, and macosx_universal_toscomm. Is these > are the > files you are referring as the macosx_universal_*.lib files? And > to what > name should I rename it? > thanks > Yusnaidi > On Thu, Mar 24, 2011 at 10:47 AM, Urs Hunkeler > <urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch> > <mailto:urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch>> > <mailto:urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch> > <mailto:urs.hunke...@epfl.ch <mailto:urs.hunke...@epfl.ch>>>> wrote: > > Hi Yusnaidi, > > I don't know about your problem, as I currently don't have a Mac OS > X system with the latest OS to play with. However, I did compile the > libraries for different systems, and the libraries included in the > latest tinyos.jar should support Mac OS X on PPC, Intel 32-bit and > Intel 64-bit platforms. If you don't absolutely want to compile the > libraries yourself, you can use the latest tinyos.jar and see how > this works for you: > > http://tinyos-main.googlecode.com/svn/trunk/support/sdk/java/tinyos.jar > > You can also download the macosx_universal_*.lib files, rename them > to lib*.jnilib and manually put them in the right folders. The files > are universal binaries for Mac OS X supporting the aforementioned > processors. > > Cheers, > Urs > > > On 03/24/2011 12:11 AM, Yusnaidi Md Yusof wrote: > > Hi, > > I really stucked here. Please give me a help... > > I want to install tinyos-2.x (downloaded from git source) onto > my Mac OS > X snow leopard. I have successfully install all the macports, > AVR tools, > etc but when come to a stage to 'make' and 'make install' in the > $TOSROOT/tools dir, I got the following errors: > > g++ -O2 -bundle > "-I/System/Library/Frameworks/JavaVM.framework/Headers" \ > -o libtoscomm.jnilib NativeSerial_darwin.cpp > NativeSerial_darwin.cpp: In member function 'void > NativeSerial::errno_wrap(bool, const char*)': > NativeSerial_darwin.cpp:77: error: 'strerror' was not declared > in this scope > NativeSerial_darwin.cpp: In static member function 'static > std::string > NativeSerial::getTOSCommMap()': > NativeSerial_darwin.cpp:504: error: 'getenv' was not declared in > this scope > make[3]: *** [libtoscomm.jnilib] Error 1 > make[2]: *** [all-recursive] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all-recursive] Error 1 > > I really have no idea what is wrong here. Please help me. > > thanks > > Yusnaidi > > > > _______________________________________________ > Tinyos-help mailing list > Tinyos-help@millennium.berkeley.edu > <mailto:Tinyos-help@millennium.berkeley.edu> > <mailto:Tinyos-help@millennium.berkeley.edu > <mailto:Tinyos-help@millennium.berkeley.edu>> > <mailto:Tinyos-help@millennium.berkeley.edu > <mailto:Tinyos-help@millennium.berkeley.edu> > <mailto:Tinyos-help@millennium.berkeley.edu > <mailto:Tinyos-help@millennium.berkeley.edu>>> > > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > > > > > _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help