This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
missing include file during cross compilation
- From: phlinux at free dot fr
- To: gcc-help at gcc dot gnu dot org
- Date: Mon, 12 Jul 2004 18:37:58 +0200
- Subject: missing include file during cross compilation
Hello,
I am trying to compile on Mac OS X a cross compiler gcc for i586.
1) get binutils-2.14 + ./configure i586-pc-gnu + make + make intall . Every
thing seems to be OK /usr/local/i586-gnu-pc/ is created with bin and lib folders.
2) get gcc-core-3.4.0-20040501-1-src.tar.
then configure :
./configure --target=i586-pc-gnu
--with-as=/usr/local/i586-pc-gnu/bin/as
--with-ld=/usr/local/i586-pc-gnu/bin/ld
--with-gnu-as --with-gnu-ld
--enable-languages=c
--disable-shared --disable-multilib --disable-nls --enable-threads=single
Then I try to make, but Ifall in 2 bugs :
- gcc/gcc.c line 4907 the structure st-tmp is declared twice !
- I corrected this bug, an go futher in order have a problem with minssing
include files.
3) I try again with : gcc-3.3.3-200402017-1
Then I configure it with
./configure --target=i586-pc-gnu
--with-as=/usr/local/i586-pc-gnu/bin/as
--with-ld=/usr/local/i586-pc-gnu/bin/ld
--with-gnu-as --with-gnu-ld
--enable-languages=c
--disable-shared --disable-multilib --disable-nls --enable-threads=single
Then I make all and I get the folowing problem :
/Volumes/Free_1/TestOS/gcc-3.3.3-200402017-1/gcc/xgcc
-B/Volumes/Free_1/TestOS/gcc-3.3.3-200402017-1/gcc/
-B/usr/local/i586-pc-gnu/bin/ -B/usr/local/i586-pc-gnu/lib/ -isystem
/usr/local/i586-pc-gnu/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include
-fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I. -I./.
-I./config -I./../include -DL_muldi3 -c ./libgcc2.c -o libgcc/./_muldi3.o
In file included from tconfig.h:23,
from libgcc2.c:36:
config/i386/linux.h:239:20: signal.h: No such file or directory
config/i386/linux.h:240:26: sys/ucontext.h: No such file or directory
make[2]: *** [libgcc/./_muldi3.o] Error 1
make[1]: *** [libgcc.a] Error 2
make: *** [all-gcc] Error 2
So, this is the same kind of bug as in the step 2. The gcc/libgcc2.c says that
it needs some include build for the target (not for the macOS X).
My questions are :
1) Where are the missing include file ? Does it means that I have a bad path ?
2) Are the missing include files builds or coming from some package ?
3) How are the missing include files built ? Problem during the binutils
compilation ? Specific step of the binutils ? Problem during ggc compile ?
Specific step of the gcc ?
In fact the compile command containts
-isystem /usr/local/i586-pc-gnu/include
For me, this mean, that I need a include directory in the
/usr/local/i586-pc-gnu/. That is consistant with the need of include files for
the i586 processor (that is my taregt processor). But I have no ! How to build
them ? How to get them ?
PS : my gcc-3.3.3-200402017-1/include :
COPYING dyn-string.h getopt.h objalloc.h sort.h
xregex.h
ChangeLog fibheap.h hashtab.h obstack.h splay-tree.h
xregex2.h
ansidecl.h floatformat.h libiberty.h partition.h symcat.h
demangle.h fnmatch.h md5.h safe-ctype.h ternary.h
Thanks, for any pointers, tutorials.
PHL