Error building glibc-2.3.2 for my arm-9tdmi-linux cross compiler on cygwin

Vin Shelton vshelton@aoainc.com
Fri Jan 18 16:09:00 GMT 2008


J Johnson wrote:
> Anyone seen anything like the error I've listed below?  It appears while building the glibc-2.3.2 for inclusion in my arm-9tdmi-linux cross compiler.  It strikes me as a cygwin issue but I had figured something related to cygwin would have been long resolved in these builds so maybe it's something with my config?  In any case, here's the output:
> 
> Thanks to anyone that can help!  I'll even take wild guesses :)
> 
> ------------------------- BEGIN ERROR OUTPUT -------------------------
> 
> running configure fragment for /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.
> 3.2/sysdeps/unix/sysv/linux
> checking for egrep... (cached) grep -E
> checking installed Linux kernel header files... 2.0.10 or later
> *** WARNING: Are you sure you do not want to use the `linuxthreads'
> *** add-on?
> running configure fragment for /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.
> 3.2/sysdeps/unix/common
> running configure fragment for /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.
> 3.2/sysdeps/unix
> running configure fragment for /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.
> 3.2/sysdeps/generic
> checking for old glibc 2.0.x headers... no
> checking whether -fPIC is default... no
> configure: creating ./config.status
> config.status: creating config.make
> config.status: creating glibcbug
> config.status: creating Makefile
> config.status: creating config.h
> config.status: executing default commands
> + grep -q GLIBC_2.3 /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2/ChangeL
> og
> + libc_cv_ppc_machine=yes
> + make CFLAGS=-DBOOTSTRAP_GCC sysdeps/gnu/errlist.c
> make -r PARALLELMFLAGS="" CVSOPTS="" -C /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2
> /glibc-2.3.2 objdir=`pwd` sysdeps/gnu/errlist.c
> make[1]: Entering directory `/ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.
> 2'
> (echo 'sysd-rules-sysdirs := sysdeps/arm/elf sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/uni
> x/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm/f
> pu sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic/elf sys
> deps/generic';                \
>         for dir in '$(..)sysdeps/arm/elf' '$(..)sysdeps/unix/sysv/linux/arm' '$(..)sysdeps/unix/sysv/linux' '$(..)sysde
> ps/gnu' '$(..)sysdeps/unix/common' '$(..)sysdeps/unix/mman' '$(..)sysdeps/unix/inet' '$(..)sysdeps/unix/sysv' '$(..)sysd
> eps/unix/arm' '$(..)sysdeps/unix' '$(..)sysdeps/posix' '$(..)sysdeps/arm/fpu' '$(..)sysdeps/arm' '$(..)sysdeps/wordsize-
> 32' '$(..)sysdeps/ieee754/flt-32' '$(..)sysdeps/ieee754/dbl-64' '$(..)sysdeps/ieee754' '$(..)sysdeps/generic/elf' '$(..)
> sysdeps/generic'; do                          \
>           for o in .o .os .op .og .ob .oST; do \
>               \
>             echo "\$(objpfx)%$o: $dir/%.S \$(before-compile); \
>                   \$(compile-command.S)";                                    \
>             echo "\$(objpfx)%$o: $dir/%.s \$(before-compile); \
>                   \$(compile-command.s)";                                    \
>             echo "\$(objpfx)rtld-%$o: $dir/%.S \$(before-compile); \
>                   \$(compile-command.S)";                                    \
>             echo "\$(objpfx)rtld-%$o: $dir/%.s \$(before-compile); \
>                   \$(compile-command.s)";                                    \
>             echo "\$(objpfx)ptw-%$o: $dir/%.S \$(before-compile); \
>                   \$(compile-command.S)";                                    \
>             echo "\$(objpfx)ptw-%$o: $dir/%.s \$(before-compile); \
>                   \$(compile-command.s)";                                    \
>                 \
>             echo "\$(objpfx)%$o: $dir/%.c \$(before-compile); \
>                   \$(compile-command.c)";                                    \
>             echo "\$(objpfx)rtld-%$o: $dir/%.c \$(before-compile); \
>                   \$(compile-command.c)";                                    \
>             echo "\$(objpfx)ptw-%$o: $dir/%.c \$(before-compile); \
>                   \$(compile-command.c)";                                    \
>           done; \
>             \
>           echo "\$(objpfx)%.d: $dir/%.s \$(common-objpfx)dummy.d; \
>                 \$(make-dummy-dep)";                          \
>           echo "\$(objpfx)rtld-%.d: $dir/%.s \$(common-objpfx)dummy.d; \
>                 \$(make-dummy-dep)";                          \
>           echo "\$(objpfx)ptw-%.d: $dir/%.s \$(common-objpfx)dummy.d; \
>                 \$(make-dummy-dep)";                          \
>           echo "\$(objpfx)%.d: $dir/%.S \$(before-compile); \
>                 \$(+make-deps)";                                              \
>           echo "\$(objpfx)rtld-%.d: $dir/%.S \$(before-compile); \
>                 \$(+make-deps)";                                              \
>           echo "\$(objpfx)ptw-%.d: $dir/%.S \$(before-compile); \
>                 \$(+make-deps)";                                              \
>                 \
>           echo "\$(objpfx)%.d: $dir/%.c \$(before-compile); \
>                 \$(+make-deps)";                                              \
>           echo "\$(objpfx)rtld-%.d: $dir/%.c \$(before-compile); \
>                 \$(+make-deps)";                                              \
>           echo "\$(objpfx)ptw-%.d: $dir/%.c \$(before-compile); \
>                 \$(+make-deps)";                                              \
>           echo "\$(objpfx)m_%.S: $dir/s_%.S; \$(+make-include-of-dep)";  \
>           echo "\$(objpfx)m_%.c: $dir/s_%.c; \$(+make-include-of-dep)";  \
>         done;                                                                \
>         echo 'sysd-rules-done = t') > /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/
> build-glibc-headers/sysd-rulesT
> mv -f /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-rulesT /
> ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-rules
> for dir in /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers sysdeps/
> arm/elf sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/un
> ix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm/fpu sysdeps/arm sysdeps/wordsize-32 sy
> sdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic; do \
>           test -f $dir/syscalls.list && \
>           { /bin/sh sysdeps/unix/make-syscalls.sh $dir || exit 1; }; \
>           test $dir = sysdeps/unix && break; \
>         done > /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd
> -syscallsT
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> -rThe system cannot find the file specified.
> mv -f /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-syscalls
> T /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-syscalls
> gawk 'BEGIN { subdirs = ""; inhibit = "" };                    \
>                 /^#/ { next };                                          \
>                 /^[^-]/ { subdirs = subdirs " " $0 };                  \
>                 /^-/ { inhibit = inhibit " " substr($0, 2) };          \
>                 END { printf "sysdep-subdirs =%s\n", subdirs;          \
>                       printf "sysdep-inhibit-subdirs =%s\n", inhibit;  \
>                       print "sysd-dirs-done = t" }'                    \
>               /dev/null sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs > /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9td
> mi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-dirs-tmp
> mv -f /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-dirs-tmp
> /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-dirs
> make[1]: Leaving directory `/ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2
> '
> make[1]: Entering directory `/ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.
> 2'
> /ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc-headers/sysd-syscalls:241:
> *** missing separator.  Stop.
> make[1]: Leaving directory `/ecos-c/CNAV/tmp2/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2
> '
> make: *** [sysdeps/gnu/errlist.c] Error 2
> 
> -------------------------------------- END ERROR OUTPUT -----------------------------------------
> 
> 
>       ____________________________________________________________________________________
> Looking for last minute shopping deals?  
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> 
> 
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
> 
> 

Shot in the dark - the crosstool FAQ has an entry for Cygwin (see below).
In particular, I found the "mount -X" necessary.

HTH,
   Vin Shelton

Cygwin
Crosstool, and probably gcc and glibc's configure scripts, assume that 
directory names do not contain any spaces. This is often violated on 
Windows. Please take care to not use directory names with spaces in them 
when running crosstool. It might work, but if it doesn't, you've been 
warned. (Same goes for Mac OS X.)

crosstool creates some really deeply nested directories while building, so 
filenames are quite long. This has two consequences:

First, on some versions of Windows, filenames (including directory) can't be 
longer than 240 chars. To avoid exceeding this limit, don't run crosstool in 
a directory with a long name.

Second, the maximum length of commandlines is extremely short. Since 
crosstool uses commandlines that include multiple filenames, they can exceed 
the limit very quickly. You can avoid this problem by using the "mount" 
command's options. e.g. mount /bin and /usr/bin with -X or "-o cygexec" (see 
the cygwin faq, and/or mount the crosstool directory with "-o managed" (see 
the cygwin doc for "mount").

Also, this isn't really a crosstool problem, but configuring linux-2.6 on 
cygwin may fail with the error

$ make menuconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  HOSTLD  scripts/kconfig/mconf
collect2: ld terminated with signal 11 [Segmentation fault], core dumped

A possible fix described e.g. by Bertrand Marquis' post of 29 June 2004 is 
to patch linux-2.6/scripts/kconfig/Makefile to just use libkconfig.o rather 
than first making a .so.

Cygwin-1.5.9-1 had a bug that prevents it from building glibc. You can work 
around this by updating to Cygwin-1.5.10-2.




--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list