Date: Fri, 24 Mar 2000 20:33:39 +0000 From: James Ponder To: djgpp AT delorie DOT com Subject: cross-compiler on linux Message-ID: <20000324203339.A6364@lisa.sh2.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre3us Reply-To: djgpp AT delorie DOT com Hi, I've completely failed to create a cross-compiler on linux using djgpp. I am using RedHat 6.1, gcc 2.95.2 and binutils-2.9.1. I am configuring in the recommended way into a 'binu' and 'gcc' directory: drwxr-xr-x 10 root root 4096 Mar 22 22:40 binu drwxr-xr-x 13 root root 4096 May 1 1998 binutils-2.9.1 drwxr-xr-x 7 root root 4096 Mar 22 22:56 gcc drwxr-xr-x 16 root root 4096 Oct 25 09:02 gcc-2.95.2 In the binu directory I do '../binutils-2.9.1/configure --target=i586-pc-msdosdjgpp --host=i686-pc-linux-gnu --prefix=/usr/local'. I then patch the te-go32.h and tc-i386.h files to avoid the symbol table bloat problem. Then make and make install, no problem. Then in the gcc directory I do '../gcc-2.95.2/configure --target=i586-pc-msdosdjgpp --host=i686-pc-linux-gnu --prefix=/usr/local' Then I edit the Makefile to stop it testing libgcc1-test and instead touch the file libgcc1-test (as the how-to describes). This is all to plan so far. Then... I compile and get to this, which I cannot work out how to fix: rootme=`pwd`/ ; export rootme; \ CC="/home/james/djgpp/mycross/gcc/gcc/xgcc -B/home/james/djgpp/mycross/gcc/gcc/ -B/usr/local/i586-pc-msdosdjgpp/bin/ -I. -I../../../gcc-2.95.2/libio"; export CC; \ CXX="/home/james/djgpp/mycross/gcc/gcc/xgcc -B/home/james/djgpp/mycross/gcc/gcc/xgcc -B/home/james/djgpp/mycross/gcc/gcc/ -B/usr/local/i586-pc-msdosdjgpp/bin/ -I. -I../../../gcc-2.95.2/libio -nostdinc++ -nostdinc++ -g -O2"; export CXX; \ CONFIG_NM="i586-pc-msdosdjgpp-nm"; export CONFIG_NM; \ /bin/sh ../../../gcc-2.95.2/libio/gen-params LIB_VERSION=2.8.0 >tmp-params.h dummy.c:1: sys/types.h: No such file or directory dummy.c:8: stdio.h: No such file or directory dummy.c:9: time.h: No such file or directory dummy.c:10: signal.h: No such file or directory gen-params: could not invoke /home/james/djgpp/mycross/gcc/gcc/xgcc -B/home/james/djgpp/mycross/gcc/gcc/ -B/usr/local/i586-pc-msdosdjgpp/bin/ -I. -I../../../gcc-2.95.2/libio -E on dummy.c make: *** [_G_config.h] Error 1 make[1]: Leaving directory `/home/james/djgpp/mycross/gcc/i586-pc-msdosdjgpp/libio' make: *** [all-target-libio] Error 2 Someone must have encountered this. /usr/local/i586-pc-msdosdjgpp: drwxr-xr-x 5 root root 4096 Mar 21 23:38 . drwxr-xr-x 19 root root 4096 Mar 21 22:52 .. drwxr-xr-x 2 root root 4096 Mar 22 22:50 bin drwxr-xr-x 9 root root 4096 Mar 21 23:38 include drwxr-xr-x 3 root root 4096 Mar 21 23:39 lib (bin contains nm, strip, ar, ranlib, as, ld, stubify (which I compiled)) (lib contains ldscripts, crt0.o djgpp.djl etc) (include contains all the djgpp include files, including the files dummy.c is trying to find) I really hope someone will reply telling me I'm being stupid and have missed something. Best wishes, James -*- James Ponder -*- james AT squish DOT net -*- http://www.squish.net/ -*-