Installing TinyOS-2.x on Mac OS X (Snow Leopard)
From TinyOS Wiki
- Install NesC, the AVR GCC compiler and the MSP GCC compiler by following the instructions at the Unofficial MacPorts for TinyOS page.
- Install gcc44 from MacPorts and softlink /opt/local/bin/gcc-mp-4.4 to gcc, and /opt/local/bin/g++-mp-4.4 to g++, in the directory /usr/bin.
Note: gcc43 works too.
Note: the apple-gcc* compiler does not work because it will complain that "-c" is not a valid option to the preprocessor.
- Put "CFLAGS+=-D_FORTIFY_SOURCE=0" in your Makefile.
- For simulations that involve opening a lot of files, e.g. simulations involving Flash memories, in the shell, type "ulimit -n <number>" where <number> is a high-enough value.
- If Java complains about not finding the JNI libraries (getenv, toscomm), try running it using sudo.
- If you encounter the error can't open config file "/etc/avrdude/avrdude.conf", either softlink /opt/local/etc/avrdude.conf to /etc/avrdude/avrdude/conf, or put the following code in the file $TOSROOT/support/make/avr/avr.rules after the line AVRDUDE_CONF ?= /etc/avrdude/avrdude.conf:
ifeq ($(findstring Darwin, $(shell uname)), Darwin) AVRDUDE_CONF := /opt/local/etc/avrdude.conf endif
- For more troubleshooting, some of the tips here written for Tiger maybe applicable.
- If tools don't compile because of the following error "jni.h: No such file or directory", it may be because the Java for Mac OS X 10.6 Update 3 moved the Headers directory from /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK to /System/Library/Frameworks/JavaVM.framework/Versions/Current. If you don't have the Headers directory in /System/Library/Frameworks/JavaVM.framework/Versions/Current, download the Java Developer Package from https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719. Then, change the line "jhome=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK" to "jhome=/System/Library/Frameworks/JavaVM.framework" in tools/tinyos/misc/tos-locate-jre.