Building a Cross Compiler On Windows

henkel@us.ibm.com henkel@us.ibm.com
Mon Jul 10 14:32:00 GMT 2000


I'm still having troubles building gcc-2.95.  I've got cygwin1.1.0 lon my
NT System
target =m86k-coff
prefix=/bar
i=$prefix/bin
I did not set the host variable because a previous responder pointed out I
had it incorrectly set and said it was not necessary to set. It appears
that when I run configure and make that it knows my system is i686.

It appears that binutils-2.9 built successfully for me.  At least I see:
\cygwin\bar\
              bin
                         include
                         lib
 \cygwin\bar\m68k-coff\
                                       bin
                                       lib



When I try to run "make all install" from the build-gcc directory, the
following output is the part that fails.  It's complaining that it can't
find stdlib.h for libgcc2.c.  After inspecting the compiler line, it looks
to me like it expects an include directory in  "\cygwin\m68k-coff\include".
Why there is no include directory there I do not know. I've followed the
instructions in http://www.objsw.com/CrossGCC/FAQ-4.html#ss4.1 exactly.

In addition, I copied the include directory from \cygwin\usr\include to
\cygwin\m68k-coff and re-ran make all install. I let it run for about 45
minutes and it looked like it was compiling the same files over and over.

Can someone help me out? I'm pulling my hair out.

Thanks,

Dean


**************************START OUTPUT FROM MAKE ALL INSTALL
********************************
make[2]: Leaving directory `/cygdrive/c/cross/build-gcc/gcc/intl'
for i in `/cygdrive/c/cross/build-gcc/gcc/xgcc
-B/cygdrive/c/cross/build-gcc/gcc/ -B/bar/m68k-coff/bin/
-I/bar/m68k-coff/include --print-multi-lib`; do \
  dir=`echo $i | sed -e 's/;.*$//'`; \
  flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
  make GCC_FOR_TARGET="/cygdrive/c/cross/build-gcc/gcc/xgcc
-B/cygdrive/c/cross/build-gcc/gcc/ -B/bar/m68k-coff/bin/
-I/bar/m68k-coff/include" \
    AR_FOR_TARGET="m68k-coff-ar" \
    AR_FLAGS_FOR_TARGET="rc" \
    CC="gcc" CFLAGS="-g -O2" \
    RANLIB_FOR_TARGET="m68k-coff-ranlib" \
    RANLIB_TEST_FOR_TARGET="[ -f m68k-coff-ranlib ] || ( [
"i686-pc-cygwin32" = "m68k-unknown-coff" ] && [ -f /usr/bin/ranlib -o -f
/bin/ranlib ] )" \
    LANGUAGES="c proto gcov.exe CHILL c++ f77 java objc" \
    HOST_PREFIX="" HOST_PREFIX_1="loser-" \
    LIBGCC2_CFLAGS="-O2  -DCROSS_COMPILE -DIN_GCC     -g -O2 -I./include
-g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   ${flags}" \
    MULTILIB_CFLAGS="${flags}" \
    LIBGCC1="libgcc1-asm.a" LIBGCC2="libgcc2.a" \
    dir="${dir}" stmp-multilib-sub; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
done
make[2]: Entering directory `/cygdrive/c/cross/build-gcc/gcc'
rm -f libgcc2.a
if [ -d . ]; then \
  cd .; \
  rm -f libgcc.a ; \
else true; \
fi
make GCC_FOR_TARGET="/cygdrive/c/cross/build-gcc/gcc/xgcc
-B/cygdrive/c/cross/build-gcc/gcc/ -B/bar/m68k-coff/bin/
-I/bar/m68k-coff/include" \
  AR_FOR_TARGET="m68k-coff-ar" \
  AR_FLAGS_FOR_TARGET="rc" \
  CC="gcc" CFLAGS="-g -O2" \
  HOST_PREFIX="" HOST_PREFIX_1="loser-" \
  LANGUAGES="c proto gcov.exe CHILL c++ f77 java objc" \
  LIBGCC2_CFLAGS="-O2  -DCROSS_COMPILE -DIN_GCC     -g -O2 -I./include
-g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   " libgcc2.a
make[3]: Entering directory `/cygdrive/c/cross/build-gcc/gcc'
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _bb _shtab
_clear_cache _trampoline __main _exit _ctors _pure; \
do \
  echo ${name}; \
  /cygdrive/c/cross/build-gcc/gcc/xgcc -B/cygdrive/c/cross/build-gcc/gcc/
-B/bar/m68k-coff/bin/ -I/bar/m68k-coff/include -O2  -DCROSS_COMPILE
-DIN_GCC     -g -O2 -I./include   -g1  -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED    -I. -I../../gcc-2.95/gcc
-I../../gcc-2.95/gcc/config -I../../gcc-2.95/gcc/../include -c -DL${name} \
       ../../gcc-2.95/gcc/libgcc2.c -o ${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  m68k-coff-ar rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
done
_muldi3
../../gcc-2.95/gcc/libgcc2.c:41: stdlib.h: No such file or directory
../../gcc-2.95/gcc/libgcc2.c:42: unistd.h: No such file or directory
make[3]: *** [libgcc2.a] Error 1
make[3]: Leaving directory `/cygdrive/c/cross/build-gcc/gcc'
make[2]: *** [stmp-multilib-sub] Error 2
make[2]: Leaving directory `/cygdrive/c/cross/build-gcc/gcc'
make[1]: *** [stmp-multilib] Error 1
make[1]: Leaving directory `/cygdrive/c/cross/build-gcc/gcc'
make: *** [all-gcc] Error 2
bash-2.04$

************************************END OUTPUT FROM MAKE ALL
INSTALL**************************************



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com



More information about the crossgcc mailing list