BIG problems trying to build newlib-1.10.0 on cygwin

Stephen Biggs
Sun Sep 29 02:25:00 GMT 2002

I'd appreciate any help.  I've been beating my head against the wall with this for a few days now.

I am trying to get gcc-2.95.3 to compile on the latest cygwin for the m68k-elf target.  This is not 
working at all.

I am able to compile and install the first pass of the compiler, just gcc.
Here is the command line that I run  (Note that all of the m68k-elf-* directories are empty at the 
invocation of this command.  binutils and gcc sources have all the applicable patches applied to 

cd m68k-elf-binutils/ && ../binutils-2.10/configure --with-included-gettext --disable-nls --target=m68k-elf && gmake all install && cd ../m68k-elf-gcc && ../gcc-2.95.3/configure --disable-nls --disable-fast-fixincludes --with-included-gettext --without-headers --with-newlib --enable-languages=c --
target=m68k-elf && gmake all-gcc install-gcc && cd ../m68k-elf-newlib && ../newlib-1.10.0/configure --with-newlib --with-included-gettext --disable-nls --target=m68k-elf && gmake all install

I then want to run the command:
../gcc-2.95.3/configure --enable-languages=c,c++ --target=m68k-elf  --with-included-gettext --with-newlib --disable-nls --disable-fast-fixincludes --enable-multilib
LIBS=-lc gmake

I have never been able to get the final build of the compiler to work. It fails when I try to do 
the second full build pass. I did these commands without the "with-newlib", first.

It fails on the first pass as well if I use "enable-languages=c,c++"... seems to be something wrong 
with the C++ compiler build.

gmake[3]: Entering directory `/usr/local/src/uClinux/m68k-elf-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}; \
  /usr/local/src/uClinux/m68k-elf-gcc/gcc/xgcc -B/usr/local/src/uClinux/m68k-elf-gcc/gcc/ -B/usr/local/m68k-elf/bin/ -I/usr/local/m68k-elf/include -O2  -DCROSS_COMPILE -DIN_GCC     -g -O2 -I./include   -g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED    -I. -I../../gcc-2.95.3/gcc -I../../gcc-
2.95.3/gcc/config -I../../gcc-2.95.3/gcc/../include -c -DL${name} \
       ../../gcc-2.95.3/gcc/libgcc2.c -o ${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  m68k-elf-ar rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
../../gcc-2.95.3/gcc/libgcc2.c:41: stdlib.h: No such file or directory
../../gcc-2.95.3/gcc/libgcc2.c:42: unistd.h: No such file or directory
gmake[3]: *** [libgcc2.a] Error 1
gmake[3]: Leaving directory `/usr/local/src/uClinux/m68k-elf-gcc/gcc'
gmake[2]: *** [stmp-multilib-sub] Error 2
gmake[2]: Leaving directory `/usr/local/src/uClinux/m68k-elf-gcc/gcc'
gmake[1]: *** [stmp-multilib] Error 1
gmake[1]: Leaving directory `/usr/local/src/uClinux/m68k-elf-gcc/gcc'
gmake: *** [all-gcc] Error 2

In desperation I then tried to build newlib hoping that this will take care of the GCC build 
errors.  This is not working either.

The first command to build up to newlib works just fine up to the making of newlib.  The make fails 
after a LONG time with:

make[3]: Entering directory `/usr/local/src/build-tools/m68k-elf-newlib/m68k-elf/m68000/libgloss'
make[3]: *** No rule to make target `all'.  Stop.
make[3]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/libgloss'
make[2]: *** [multi-do] Error 1
make[2]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/libgloss'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/libgloss'
make: *** [all-target-libgloss] Error 2

Further back, there is a configure error which has to do with not being able to find 'crt0.o' 
during a configure compiler test... shouldn't this package be self contained??

Ok, so I created a crt0.o stub file that just defines the symbols with no code and now, after 
reinvoking configure and make,  it continues further until, after about an hour and half later:

gmake[4]: Entering directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/libgloss/m68k'
gmake[4]: *** No targets specified and no makefile found.  Stop.
gmake[4]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/libgloss/m68k'
gmake[3]: *** [stmp-bsp] Error 2
gmake[3]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/libgloss'
gmake[2]: *** [multi-do] Error 1
gmake[2]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/libgloss'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/libgloss'
gmake: *** [all-target-libgloss] Error 2

The config.log file says:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:598: checking host system type
configure:619: checking target system type
configure:637: checking build system type
configure:691: checking for a BSD compatible install
configure:747: checking for gcc
configure:860: checking whether the C compiler (m68k-elf-gcc -B/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/newlib/ -isystem /usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/newlib/targ-include -isystem /usr/local/src/uClinux/newlib-
1.10.0/newlib/libc/include  -m68000 -mid-shared-library -g -O2 ) works
configure:876: m68k-elf-gcc -B/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/newlib/ -isystem /usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/newlib/targ-include -isystem /usr/local/src/uClinux/newlib-1.10.0/newlib/libc/include  -m68000 -mid-
shared-library -o conftest -g -O2   conftest.c  1>&5
/cygdrive/c/DOCUME~1/Steve/LOCALS~1/Temp/ccMWJbv0.o: In function `main':
/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/libgloss/m68k/configure:873: undefined reference to `_current_shared_library_a5_offset_'
/usr/local/lib/gcc-lib/m68k-elf/2.95.3/m68000/mid-shared-library/libgcc.a(__main.o): In function `__do_global_dtors':
/usr/local/src/uClinux/m68k-elf-gcc/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0xa): undefined reference to `_current_shared_library_a5_offset_'
/usr/local/lib/gcc-lib/m68k-elf/2.95.3/m68000/mid-shared-library/libgcc.a(__main.o): In function `__do_global_ctors':
/usr/local/src/uClinux/m68k-elf-gcc/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0x3e): undefined reference to `_current_shared_library_a5_offset_'
/usr/local/lib/gcc-lib/m68k-elf/2.95.3/m68000/mid-shared-library/libgcc.a(__main.o): In function `__main':
/usr/local/src/uClinux/m68k-elf-gcc/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0x92): undefined reference to `_current_shared_library_a5_offset_'
collect2: ld returned 1 exit status
m68k-elf-gcc: file path prefix `/usr/local/src/uClinux/m68k-elf-newlib/m68k-elf/m68000/mid-shared-library/newlib/' never used
configure: failed program was:

#line 871 "configure"
#include "confdefs.h"


What a nightmare.  Can anybody help?

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

More information about the crossgcc mailing list