[En-Nut-Discussion] OS X compiling issues

Tom Armitage Tom.Armitage at tenix.com
Thu Oct 20 02:19:37 CEST 2005


Hi,

I am having trouble compiling the ethernut software on OS X - stay  
with me now.

I had this working once before earlier this year, but I've only just  
got around to reinstalling the avr tools since upgrading my Mac to 10.4.

I have the following installed:

avr-gcc  4.0.2
avr-libc 1.2.5
avr-binutils 2.16

These were all compiled from their sources as per the instructions here:
http://www.nongnu.org/avr-libc/user-manual/install_tools.html

I am using the ethernut 2.1b board.

I downloaded the nut/OS source  and extracted the archive, but I am  
at a loss to work out how to compile the OS from there.

I ran nutsetup but beyond that I can't work out how to compile the  
OS, because make doesn't do anything!

When I run nutsetup I get the following:

switch:/Volumes/SHARE/Develop/Ethernut/ethernut-3.9.8 tom$ ./nutsetup
Select a target device:

   1) Atmel ATmega128
   2) Atmel ATmega103
   3) Atmel AT90CAN128
   4) Renesas H8/3068F
   5) UNIX Emulation

Selection -> 1
Which isp programmer are you using?

   1) stk200, stk300 or compatible
   2) skt500

Selection -> 2
Your system is now configured to build for atmega128.
Type `make` to build the system.
switch:/Volumes/SHARE/Develop/Ethernut/ethernut-3.9.8 tom$ make
make: *** No targets specified and no makefile found.  Stop.
switch:/Volumes/SHARE/Develop/Ethernut/ethernut-3.9.8 tom$

I can't run or compile nutconf to configure the system because I am  
running OS X - is there a command line equivalent??

I tried previous releases, 3.9.7 and 3.9.6 all behave the same as  
3.9.8, but I get different results with 3.9.5:

switch:/Volumes/SHARE/Develop/Ethernut/ethernut-3.9-5/nut tom$ ./ 
configure
Select a target device:

   1) Atmel ATmega128
   2) Atmel ATmega103
   3) Renesas H8/3068F
   4) UNIX Emulation

Selection -> 1
Which isp programmer are you using?

   1) stk200, stk300 or compatible
   2) skt500

Selection -> 2
Your system is now configured to build for atmega128.
Type `make` to build the system.
switch:/Volumes/SHARE/Develop/Ethernut/ethernut-3.9-5/nut tom$ make
make -C os
avr-gcc -c -mmcu=atmega128 -Os -Wall -Werror -Wstrict-prototypes -Wa,- 
ahlms=nutinit.lst -D__HARVARD_ARCH__  -I../include  nutinit.c -o  
nutinit.o
cc1: warnings being treated as errors
In file included from nutinit.c:111:
arch/avr_nutinit.c: In function 'NutIdle':
arch/avr_nutinit.c:377: warning: pointer targets in passing argument  
1 of 'NutThreadCreate' differ in signedness
arch/avr_nutinit.c: In function 'NutInit':
arch/avr_nutinit.c:461: warning: pointer targets in passing argument  
1 of 'strcpy' differ in signedness
arch/avr_nutinit.c:467: warning: pointer targets in passing argument  
1 of 'NutThreadCreate' differ in signedness
make[1]: *** [nutinit.o] Error 1
make: *** [all] Error 2

Obviously the compiler is choking on the warnings, do I need to  
change a compiler flag or something to get past this?

I'm willing to not use the latest version if I can get this to  
compile - can anyone give me a clue as to what's going wrong?

I am about to try downloading and compiling earlier versions of the  
avr tools to see if that helps....

Thanks in advance,
Tom Armitage





More information about the En-Nut-Discussion mailing list