X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Andris Pavenis To: djgpp AT delorie DOT com Subject: Re: cross compilation Date: Tue, 18 Nov 2003 16:28:11 +0200 User-Agent: KMail/1.5.93 References: <200311141344 DOT 24310 DOT pavenis AT latnet DOT lv> In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200311181628.11643.pavenis@latnet.lv> Reply-To: djgpp AT delorie DOT com On Monday 17 November 2003 12:41, Armstrong wrote: > hello, > > ok, so i now got gcc32s.zip. and did not use > the patch. > > things seems to be better, but still not > good. > > now `make` for gcc-3.2-obj dir says: > > ../../../gcc-3.2/libiberty/getpwd.c: In function `getpwd': > ../../../gcc-3.2/libiberty/getpwd.c:86: `PATH_MAX' undeclared (first use in > this function) > ../../../gcc-3.2/libiberty/getpwd.c:86: (Each undeclared identifier is > reported only once > ../../../gcc-3.2/libiberty/getpwd.c:86: for each function it appears in.) > make[1]: *** [getpwd.o] Error 1 > make[1]: Leaving directory > `/packages/cross/gnu/gcc-3.2-obj/i586-pc-msdosdjgpp/libiberty' > make: *** [all-target-libiberty] Error 2 > > any help on whats wrong.? i had done: > ../gcc-3.2/configure --prefix=$prefix --target=$target \ > --with-headers=$prefix/$target/include >& configure.log > > thanks for the help. (: Problem seems familiar, but I haven't encountered it in last builds Last GCC version, which I build as Linux to DJGPP cross-compiler was gcc-3.3.2. 1) At first gcc332s2.zip should be unpacked in some directory. 2) You must have old versions of autoconf-2.13 and automake-1.4 (or 1.5) installed, perhaps with different prefix. 3) Put the directory where old autoconf and automake are located at the begin of path and run script unpack-gcc.sh 4) You should have cross-binutils installed (--prefix=/usr), DJGPP headers at /usr/i586-pc-msdosdjgpp/sys-include (I have them at /usr/i586-pc-msdosdjgpp/ include and sys-include is a symlink to that directory), similary DJGPP libraries must be at /usr/i586-pc-msdosdjgpp/lib 5) Create directory /usr/lib/gcc-lib/i586-pc-msdosdjgpp/3.3.2 (not needed if building as root) 6) When this all is Ok, then following should configure and build cross-compiler #! /bin/sh VER=3.3.2 DVER=`echo $VER | sed -e 's#\.#_#' | sed -e 's#\.##g' | sed -e 's#_#.#'` TOP=`pwd` SRC=$TOP/gnu/gcc-$DVER test -d djcross || mkdir djcross || exit 1 cd djcross || exit 1 $SRC/configure --prefix=/usr \ --host=`sh $SRC/config.guess` \ --target=i586-pc-msdosdjgpp \ --disable-nls \ --enable-version-specific-runtime-libs \ --enable-languages=c,c++,f77,objc || exit 1 make Only note: as I remeber c++ include directory must be renamed after installation This is how I'm building cross-compiler. Of course all should be modified to install cross-compiler in user directory or in /usr/local. Andris