This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Pee Seeumpornroj <pee@MIT.EDU> wrote: > I'm trying to build a GNAT cross compiler from host=i686-linux-pc to target=powerpc-elf. AFAIK the 'powerpc-elf' is almost an alias for 'powerpc-sysv'. If we look at the config entries in the 'gcc-3.3.2/gcc/config.gcc' : powerpc-*-sysv*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4. h" xm_defines=POSIX tmake_file="rs6000/t-ppcos rs6000/t-ppccomm" ;; and : powerpc-*-elf*) xm_defines=POSIX tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4. h" tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm" ;; the only difference is the target Makefile-fragment. The 'sysv' is for Unix/PPC or Linux/PPC and the 'elf' for a static variation of it. So your target is something with an Unix-like opsys on PowerPC. But you didn't mention that yet... > After successfully building binutils, gcc, and newlib, I followed the intruction on GCC > website to build gnat tools. I ran into these errors while doing "make gnatlib": > > In file included from /home/pee/XComp_source/CrossGNAT/script/XCompiler/powerpc-elf/include/dirent.h:6, > from adaint.h:38, > from adaint.c:128: > /home/pee/XComp_source/CrossGNAT/script/XCompiler/powerpc-elf/include/sys/dirent.h:12:25: no include > path in which to find dirent.h > I have dirent.h in my $prefix/$target/include, but I don't know why gcc cannot find it. As you can see, it was found... But the 'dirent.h' belonging to your Unix-like operating system was not found, the comment in the found header should have told this : /home2/usr/local/ppc-eabi/include/sys > less dirent.h /* <dirent.h> includes <sys/dirent.h>, which is this file. On a system which supports <dirent.h>, this file is overridden by dirent.h in the libc/sys/.../sys directory. On a system which does not support <dirent.h>, we will get this file which tries to find any other <dirent.h> which may be lurking around. If there isn't one, the user will get an error indicating that there is no <dirent.h>. */ So your target expect this file being provided by something else... > In file included from adaint.c:128: > adaint.h:71: error: parse error before '*' token > adaint.c:230: error: `MAXPATHLEN' undeclared here (not in a function) The 'limits.h' for your opsys should define this, the GCC's own 'limits.h' includes it in the same way as the 'dirent.h'... > adaint.c:725: error: parse error before "DIR" > adaint.c:725: warning: data definition has no type or storage class > Moreover, in adaint.c and adaint.h, it doesn't recogize a type DIR. > Could you let me know if I'm missing any header file or anything? I remember Joel Sherril from Oarcorp telling here that ADA always requires an opsys where to run. The headers and libs in newlib don't include any support for some opsys with the 'powerpc-elf'... So you maybe are missing an suitable opsys for your PowerPC based HW. If so, there are several free choices like RTEMS (http://www.rtems.com), NetBSD (http://www.netbsd.org) and Linux (http://www.linux.org). The RTEMS-RTOS maybe is most 'lightweight' among the mentioned, needing the least amount of resources like memory and the mentioned Oarcorp is behind this RTOS... Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |