Where did my MACRO go?


I'm trying to figure out where _SFR_IO_ADDR is defined. I've installed v0007 of the arduino software on my FC5 linux box and (I think ) all the necessary libraries. The Java app runs fine, but when compiling any source I get:

warning: implicit declaration of function `_SFR_IO_ADDR'

from the 'lib/targets/arduino/pins_arduino.c' file. This is then followed by about 9 errors on the following lines that try to use this macro. I've got this installed:

rpm -qa | grep cdk

cdk-avr-base-0.5-20060203 cdk-avr-uisp-20050207-20060610 cdk-avr-gcc-3.4.5-20060708 cdk-avr-gcc-c++-3.4.5-20060708 cdk-avr-binutils-030113-20030120

Am I missing anything? Thanks!

It should be defined in avr/sfr_defs.h, which should be included by avr/io.h. Does the "base" package you have installed include avr-libc?

Hi, thanks for the quick response! It doesn't look like the base package contains avr-libc. Apparently I missed that package when downloading. Finding and installing that also led me to discover that my RPM situation was a mess; I had AVR RPM packages installed from two different sources, both providing the same files, but in (sometimes) different places.

I uninstalled everything and reinstalled only the cdk-* RPMs and my environment works like a charm now. Thanks!