Orangutan library

I am getting this error when I try to install the library on a mac. I have the latest version of avrgcc, etc.
any suggestions?

unknown MCU `atmega328p' specified
Known MCU names:
   avr2
   at90s2313
   at90s2323
   at90s2333
   at90s2343
   attiny22
   attiny26
   at90s4414
   at90s4433
   at90s4434
   at90s8515
   at90c8534
   at90s8535
   at86rf401
   attiny261
   attiny461
   attiny861
   attiny13
   attiny2313
   attiny24
   attiny44
   attiny84
   attiny25
   attiny45
   attiny85
   avr3
   atmega103
   atmega603
   at43usb320
   at43usb355
   at76c711
   avr4
   atmega8
   atmega48
   atmega88
   atmega8515
   atmega8535
   at90pwm2
   at90pwm3
   avr5
   atmega16
   atmega161
   atmega162
   atmega163
   atmega164p
   atmega165
   atmega165p
   atmega168
   atmega169
   atmega169p
   atmega32
   atmega323
   atmega324p
   atmega325
   atmega3250
   atmega329
   atmega3290
   atmega406
   atmega640
   atmega64
   atmega644
   atmega644p
   atmega645
   atmega6450
   atmega649
   atmega6490
   atmega128
   atmega1280
   atmega1281
   at90can32
   at90can64
   at90can128
   at90usb646
   at90usb647
   at90usb1286
   at90usb1287
   at94k
   avr1
   at90s1200
   attiny11
   attiny12
   attiny15
   attiny28
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:1: warning: -ffunction-sections may affect debugging on some targets
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:1: error: MCU `atmega328p' supported for assembler only
In file included from /usr/local/CrossPack-AVR-20090415/lib/gcc/avr/3.4.6/../../../../avr/include/avr/interrupt.h:38,
                 from ../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:33:
/usr/local/CrossPack-AVR-20090415/lib/gcc/avr/3.4.6/../../../../avr/include/avr/io.h:356:6: warning: #warning "device type not defined"
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp: In static member function `static void OrangutanMotors::init2()':
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:106: error: `TCCR0A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:106: error: `TCCR2A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:110: error: `TCCR0B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:110: error: `TCCR2B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: error: `OCR0A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: error: `OCR0B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: error: `OCR2A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: error: `OCR2B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:123: error: `DDRD' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:124: error: `DDRB' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:106: warning: unused variable 'TCCR0A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:106: warning: unused variable 'TCCR2A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:110: warning: unused variable 'TCCR0B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:110: warning: unused variable 'TCCR2B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: warning: unused variable 'OCR0A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: warning: unused variable 'OCR0B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: warning: unused variable 'OCR2A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:119: warning: unused variable 'OCR2B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:123: warning: unused variable 'DDRD'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:124: warning: unused variable 'DDRB'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp: In static member function `static void OrangutanMotors::setM1Speed(int)':
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:146: error: `OCR0B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:147: error: `OCR0A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:146: warning: unused variable 'OCR0B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:147: warning: unused variable 'OCR0A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:151: error: `OCR0B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:152: error: `OCR0A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:151: warning: unused variable 'OCR0B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:152: warning: unused variable 'OCR0A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp: In static member function `static void OrangutanMotors::setM2Speed(int)':
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:172: error: `OCR2B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:173: error: `OCR2A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:172: warning: unused variable 'OCR2B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:173: warning: unused variable 'OCR2A'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:177: error: `OCR2B' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:178: error: `OCR2A' was not declared in this scope
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:177: warning: unused variable 'OCR2B'
../../src/OrangutanMotors/../../src/OrangutanMotors/OrangutanMotors.cpp:178: warning: unused variable 'OCR2A'
make[1]: *** [OrangutanMotors.o] Error 1

You probably do not actually have the latest version of avr-gcc. Can you check by running “avr-gcc --version”? Version 4.2.3 is the first one with support for the mega328p. Looking at the CrossPack web site, I see that they recommend using gcc version 3 because “it generates more efficient code”. That is probably the source of your problems! I think that the biggest change between versions 3 and 4 affecting size was the introduction of the optional linker option “-Wl,–relax” - without this, your code will be somewhat larger than necessary. Otherwise, unless you have some really tight space requirements, you should almost certainly use the latest version.

Our tutorial on developing for the 328 under linux could potentially help you, but maybe you just need to figure out how to tell CrossPack to use the latest version of gcc.

-Paul