delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/03/24/17:15:03

Date: Fri, 24 Mar 2000 20:33:39 +0000
From: James Ponder <james AT squish DOT net>
To: djgpp AT delorie DOT com
Subject: cross-compiler on linux
Message-ID: <20000324203339.A6364@lisa.sh2.org.uk>
Mime-Version: 1.0
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/ -*-

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019