I have an issue with running a GCC cross compiler. I'm trying to setup i386-netbsdelf5.0 native Ada compiler, however there aren't any recent Ada packages for NetBSD. I found gcc-3.4.x ada compiler for NetBSD, however I can't use it to build gcc-4.4.3 Ada compiler, because gcc-3.4.x fails to build GNU MP library (which is required for gcc-4.x). So, now I'm trying to setup a NetBSD cross compiler on Linux, and to cross compile a native i386-netbsd Ada compiler. Below are the steps I take to build and install Linux to NetBSD cross compiler first: BUILD_ARCH=i386-linux HOST_ARCH=i386-linux TARGET_ARCH=i386-netbsdelf5.0 PREFIX=/opt/cross SYSROOT=$PREFIX/$TARGET_ARCH # Copy NetBSD library and include files into $SYSROOT cd $SYSROOT mkdir usr cp -Rp /netbsd/usr/include usr ln -s usr/include include cp -Rp /netbsd/lib ./ cp -Rp /netbsd/usr/lib/crt* lib Build and install binutils: ./configure --prefix=$PREFIX \ --build=$BUILD_ARCH --host=$HOST_ARCH --target=$TARGET_ARCH \ --with-sysroot=$SYSROOT --disable-nls Build and install gcc cross compiler: ../gcc-4.4.3/configure --prefix=$PREFIX \ --build=$BUILD_ARCH --host=$HOST_ARCH --target=$TARGET_ARCH \ --with-sysroot=$SYSROOT --enable-languages=c,ada \ --enable-threads=posix \ --disable-shared --disable-nls --disable-bootstrap --disable-libssp \ --disable-libgomp After everything is installed I try to compile a test program: cd /opt/cross/bin cat > test.c #include <stddef.h> int main(void) { size_t n; } ^D ./i386-netbsdelf5.0-gc test.c test.c: In function 'main': test.c:5: error: 'size_t' undeclared (first use in this function) test.c:5: error: (Each undeclared identifier is reported only once test.c:5: error: for each function it appears in.) test.c:5: error: expected ';' before 'n' Any idea why GCC is not picking up size_t from its header files?