It seems that a lot of people (myself included) sometimes forget to do a "make obj" before "make build", so I'm proposing the following little diff, just for the sake of clarification. It's not only about cross-compiling stuff, gcc build always fails if you forget to do a "make obj" before "make build"...
Cheers, David Index: Makefile =================================================================== RCS file: /cvs/src/Makefile,v retrieving revision 1.115 diff -u -p -r1.115 Makefile --- Makefile 23 Mar 2010 21:31:02 -0000 1.115 +++ Makefile 20 Sep 2010 09:59:24 -0000 @@ -11,7 +11,7 @@ # must be a symbolic link, set BSDSRCDIR in the environment to point to # the real location. # -# 2) It is also recommended that you compile with objects outside the +# 2) It is also necessary that you compile with objects outside the # source tree. To do this, ensure /usr/obj exists or points to some # area of disk of sufficient size. Then do "cd /usr/src; make obj". # This will make a symbolic link called "obj" in each directory, as ----- Forwarded message from Hitoshi NAKAMORI <[email protected]> ----- > From: Hitoshi NAKAMORI <[email protected]> > Date: Thu, 16 Sep 2010 13:50:42 +0900 > Subject: gcc4 cross-tools > To: [email protected] > > Hi, > > I'm trying to build gcc4 cross compiler in yesterday's snapshot and source > tree. > > According to Makefile.cross, amd64, i386, hppa, powerpc, and sparc64 > target creates gcc version 4 cross compiler. but > following errors occurred with all target (expect i386). > > - because im using the i386 host, i386 target did not try. > - many times I run 'cvs up -Pd', but reproduction. > > anyone know this error? > > # TARGET=amd64 make -f Makefile.cross cross-tools > (skip) > echo '#define EXTRA_MODES_FILE "i386/i386-modes.def"' >> tm.h > echo '#define GPLUSPLUS_TOOL_INCLUDE_DIR > PREFIX"/include/g++/amd64-unknown-openbsd4.8"' >> tm.h > make -f /usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > MFILE=/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > GCCDIR=/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc tconfig.h > TARGET_CPU_DEFAULT="" HEADERS="auto-host.h ansidecl.h" > DEFINES="USED_FOR_TARGET" /bin/sh > /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/mkconfig.sh tconfig.h > make -f /usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > MFILE=/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > GCCDIR=/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc options.h > awk -f /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/opt-gather.awk > /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/c.opt > /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/common.opt > /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/config/i386/i386.opt > > optionlist > awk -f /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/opt-functions.awk > -f /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/opth-gen.awk < > optionlist > options.h > make -f /usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > MFILE=/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > GCCDIR=/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc unwind.h > ln -sf /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/unwind-generic.h > unwind.h > make -f /usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > MFILE=/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools/Makefile > GCCDIR=/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc gthr-default.h > ln -sf /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/gthr-posix.h > gthr-default.h > /usr/src/gnu/usr.bin/cc/libgcc/../cc/cc -B > /usr/src/gnu/usr.bin/cc/libgcc/../cc1 -c -O2 -pipe -g -DIN_GCC > -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -DHAVE_GTHR_DEFAULT > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/include > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/config > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc -I. > -I/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools -DIN_GCC -DHAVE_CONFIG_H > -DPREFIX=\"/usr\" -DCROSS_COMPILE > -I/usr/src/gnu/usr.bin/cc/libgcc/obj.i386.amd64/../cc_tools > -I/usr/src/gnu/usr.bin/cc/libgcc/../cc_tools > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/config > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/include > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/libcpp/include > -I/usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/libdecnumber -fPIC > -DL_muldi3 -o _muldi3.o > /usr/src/gnu/usr.bin/cc/libgcc/../../../gcc/gcc/libgcc2.c > /bin/sh: /usr/src/gnu/usr.bin/cc/libgcc/../cc/cc: not found > *** Error code 127 > > Stop in /usr/src/gnu/usr.bin/cc/libgcc (line 254 of > /usr/src/gnu/usr.bin/cc/libgcc/Makefile). > *** Error code 1 > > Stop in /usr/src/gnu/usr.bin/cc (line 48 of /usr/share/mk/bsd.subdir.mk). > *** Error code 1 > > Stop in /usr/src (line 263 of Makefile.cross).
