Hello, I'm trying to build the GNAT toolchain to target AVR microcontrollers and am running into some difficulty. Admittedly this is also in the thick of my learning both Ada and AVR, so I'm fighting two unknowns here... in other words, expect this to be full of stupidity. I currently have installed the following packages (notice these are installed using my OS's package manager - they are not built out of the same source where I'm trying to build my cross-gnat): binutils 2.22 gcc 4.6.3 gcc-ada 4.6.3 avr-binutils 2.22 avr-gcc 4.6.2 avr-libc 1.8.0 So here is how I'm configuring: $ ../configure --disable-libssp\ > --disable-nls\ > --enable-languages=ada\ > --enable-cloog-backend=isl\ > --infodir=/usr/share/info\ > --libdir=/usr/lib\ > --libexecdir=/usr/lib\ > --mandir=/usr/share/man\ > --prefix=/usr\ > --target=avr\ > --with-gnu-as\ > --with-gnu-ld\ > --with-as=/usr/bin/avr-as\ > --with-ld=/usr/bin/avr-ld At this point I make, which goes great until it gets to libada: > (cd rts ; \ > `echo "/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/./gcc/xgcc -B/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/./gcc/ -B/usr/avr/bin/ -B/usr/avr/lib/ -isystem /usr/avr/include -isystem /usr/avr/sys-include " | sed -e 's^\./xgcc^../../xgcc^' -e 's^-B./^-B../../^'` -g -O2 -E -C -DTARGET=\"avr-unknown-none\" /home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/gcc/ada/s-oscons-tmplt.c > s-oscons-tmplt.i ; \ > `echo "/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/./gcc/xgcc -B/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/./gcc/ -B/usr/avr/bin/ -B/usr/avr/lib/ -isystem /usr/avr/include -isystem /usr/avr/sys-include " | sed -e 's^\./xgcc^../../xgcc^' -e 's^-B./^-B../../^'` -S s-oscons-tmplt.i ; \ > ../bldtools/oscons/xoscons) > /home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/gcc/ada/s-oscons-tmplt.c:99:19: fatal error: fcntl.h: No such file or directory > compilation terminated. > > raised ADA.IO_EXCEPTIONS.END_ERROR : a-tigeli.adb:96 > make[3]: *** [rts/s-oscons.ads] Error 1 > make[3]: Leaving directory `/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/gcc/ada' > make[2]: *** [gnatlib-plain] Error 2 > make[2]: Leaving directory `/home/corey/abs/avr-gcc-ada/src/gcc-4.6.3/build/avr/libada' > make[1]: *** [all-target-libada] Error 2 > make[1]: *** Waiting for unfinished jobs.... I've been struggling with errors like this all weekend. Earlier I was trying to build 4.6.2 and fighting a libiberty thing when someone in #gcc suggested I try 4.6.3, and now I see this. I suppose my first question should be: is this even supposed to work? Does anyone have any success stories building GCC GNAT for the AVR? If it is supposed to work, any pointers to where I might be going wrong? Thanks, Corey