[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem building glibc 2.3.1 on cygwin for arm cross compiler
From: |
George Najarian |
Subject: |
Problem building glibc 2.3.1 on cygwin for arm cross compiler |
Date: |
Thu, 21 Nov 2002 09:38:27 -0800 |
I have sucessfully built a toolchain for arm-linux using GCC 2.3.1, BINUTILS
2.3.1, GLIBC
2.31 and
the 2.4.19-rmk4 kernel usng Mandrake 9.0 on a generic x86 machine, so I know the
procedure works, at
least.
I am unable to do the same build in the win32 cygwin environment. The build
fails when
the i try to
configure the glibc library. If I try building the toolchain with 2.2.5, the
configure
portion completes, but
fails when making the iconv directory.
here is a copy of my build script (assume that the binutils and c bootstrap
completed
sucessfully):
#!/bin/bash -v
PREFIX=/tools/H-i686-pc-cygwin
KERNEL=/usr/src/arm/linux-2.4.19
GCCVER=3.2.1
GLIBCVER=2.3.1
HOST=
mkdir -p $PREFIX
if [ ! -f gcc-core-$GCCVER.tar.gz ]; then
echo GCC $GCCVER seems to be missing
exit 1
fi
rm -rf glibc-$GLIBCVER
tar zxf glibc-$GLIBCVER.tar.gz
tar -C glibc-$GLIBCVER -zxf glibc-linuxthreads-$GLIBCVER.tar.gz
pushd glibc-$GLIBCVER
perl -pi.orig -e
's/i386/arm*)\n\tlibc_cv_gcc_unwind_find_fde=yes\n\tarch_minimum_kernel=2.0.10\n\t;;\n
i386/' sysdeps/unix/sysv/linux/configure
#perl -pi.orig -e 's/weak_alias \(__old_sys_nerr/\/\/ $&/'
sysdeps/unix/sysv/linux/arm/errlist.c
./configure arm-linux --build=i686-pc-linux-gnu --with-headers=$KERNEL/include
--enable-add-ons --enable-shared --prefix=$PREFIX
make
make install
popd
pushd $PREFIX/arm-linux/lib
ln -s $PREFIX/lib/* .
popd
tar zxf gcc-core-$GCCVER.tar.gz
tar zxf gcc-g++-$GCCVER.tar.gz
pushd gcc-$GCCVER
./configure --target=arm-linux --prefix=$PREFIX $HOST
--with-headers=$KERNEL/include
perl -pi.orig -e 's/int namelen/unsigned int namelen/'
libjava/java/net/natInetAddress.cc
make
make install
popd
Here is a copy of the logfile from the failed configure (2.3.1, failed portion
only),
failure in ./configure:
mv -f sysdeps/../Versions.allT sysdeps/../Versions.all
LC_ALL=C gawk -v oldest_abi=default -f scripts/abi-versions.awk
sysdeps/../Versions.all >
sysdeps/../abi-versions.hT
mv -f sysdeps/../abi-versions.hT sysdeps/../abi-versions.h
sed '/^[ ]*#/d;s/^[ ]*%/#/' csu/Versions assert/Versions
ctype/Versions
locale/Versions intl/Versions catgets/Versions math/Versions setjmp/Versions
signal/Versions stdlib/Versions stdio-common/Versions libio/Versions
malloc/Versions
string/Versions wcsmbs/Versions time/Versions dirent/Versions grp/Versions
pwd/Versions
posix/Versions io/Versions termios/Versions resource/Versions misc/Versions
socket/Versions sysvipc/Versions gmon/Versions iconv/Versions wctype/Versions
shadow/Versions argp/Versions crypt/Versions linuxthreads/Versions nss/Versions
rt/Versions debug/Versions linuxthreads_db/Versions inet/Versions
resolv/Versions
hesiod/Versions sunrpc/Versions nis/Versions streams/Versions login/Versions
dlfcn/Versions elf/Versions sysdeps/unix/sysv/linux/arm/Versions
sysdeps/unix/sysv/linux/Versions sysdeps/unix/sysv/Versions \
| arm-linux-gcc -E -undef -Iinclude -I. -Ilibio -Isysdeps/arm/elf
-Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread
-Isysdeps/pthread
-Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix
-Ilinuxthreads/sysdeps/arm
-Isysdeps/unix/sysv/linux/arm -Isysdeps/unix/sysv/linux -Isysdeps/gnu
-Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet
-Isysdeps/unix/sysv
-Isysdeps/unix/arm -Isysdeps/unix -Isysdeps/posix -Isysdeps/arm/fpu
-Isysdeps/arm
-Isysdeps/wordsize-32 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754/dbl-64
-Isysdeps/ieee754
-Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem
/tools/H-i686-pc-cygwin/lib/gcc-lib/arm-linux/3.2.1/include -isystem
/usr/src/arm/linux-2.4.19/include -D_LIBC_REENTRANT -include
include/libc-symbols.h
\
-DASSEMBLER -x assembler-with-cpp - \
> sysdeps/../Versions.v.iT
mv -f sysdeps/../Versions.v.iT sysdeps/../Versions.v.i
sed '/^[ ]*#/d;/^[ ]*$/d' sysdeps/../Versions.v.i >
sysdeps/../Versions.vT
mv -f sysdeps/../Versions.vT sysdeps/../Versions.v
( echo 'sysd-versions-subdirs = csu assert ctype locale intl catgets math
setjmp signal
stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io
termios
resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow
po argp
crypt linuxthreads nss localedata timezone rt conform debug linuxthreads_db
inet resolv
hesiod sunrpc nis nscd streams login dlfcn elf sysdeps/arm/elf
linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread
sysdeps/pthread
linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix
linuxthreads/sysdeps/arm
sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux sysdeps/gnu
sysdeps/unix/common
sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/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' ; \
cat sysdeps/../Versions.v \
| LC_ALL=C gawk -v buildroot=sysdeps/../ -v defsfile=sysdeps/../Versions.all \
-v move_if_change='/bin/sh.exe scripts/move-if-change' \
-f scripts/versions.awk; \
) > sysdeps/../sysd-versionsT
version GLIBC_2.0 not defined for libc
GLIBC_2.0.mapT is built and growing in size until i abort the build.
Here is the equivalent portion from the configure of 2.2.5, which completed ok:
mv -f sysdeps/../Versions.allT sysdeps/../Versions.all
( echo 'sysd-versions-subdirs = csu assert ctype locale intl catgets math
setjmp signal
stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io
termios
resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow
po argp
crypt linuxthreads nss localedata timezone rt conform debug linuxthreads_db
inet resolv
hesiod sunrpc nis nscd streams login dlfcn elf sysdeps/arm/elf
linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread
sysdeps/pthread
linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix
linuxthreads/sysdeps/arm
sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux sysdeps/gnu
sysdeps/unix/common
sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/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' ; \
cat csu/Versions assert/Versions ctype/Versions locale/Versions intl/Versions
catgets/Versions math/Versions setjmp/Versions signal/Versions stdlib/Versions
stdio-common/Versions libio/Versions malloc/Versions string/Versions
wcsmbs/Versions
time/Versions dirent/Versions grp/Versions pwd/Versions posix/Versions
io/Versions
termios/Versions resource/Versions misc/Versions socket/Versions
sysvipc/Versions
gmon/Versions iconv/Versions wctype/Versions shadow/Versions argp/Versions
crypt/Versions
linuxthreads/Versions nss/Versions rt/Versions debug/Versions
linuxthreads_db/Versions
inet/Versions resolv/Versions hesiod/Versions sunrpc/Versions nis/Versions
streams/Versions login/Versions dlfcn/Versions elf/Versions
sysdeps/unix/sysv/linux/arm/Versions sysdeps/unix/sysv/linux/Versions
sysdeps/unix/sysv/Versions \
| sed '/^[ ]*#/d;s/^[ ]*%/#/' | arm-linux-gcc -E -undef -I. -Iinclude
-include sysdeps/../config.h -DASSEMBLER -x assembler-with-cpp - | sed '/^[
]*#/d;/^[ ]*$/d' \
| LC_ALL=C gawk -v buildroot=sysdeps/../ -v defsfile=sysdeps/../Versions.all \
-v move_if_change='/bin/sh.exe scripts/move-if-change' \
-f scripts/versions.awk; \
) > sysdeps/../sysd-versionsT
mv -f sysdeps/../sysd-versionsT sysdeps/../sysd-versions
<build continues ...>
Other clues in the build that are wierd is the creation of a GLIBC_2.0.mapT and
sysd-versionsT file in the base glibc directory.
The build script for 2.3.1 hangs and the file size increases for the .mapT file
until i
abort the build. Here is the contents of the mapT file:
{
{
global:
<with 300kb+ of spaces and returns following>
Can anybody provide any help with this? I am not a script expert and this
problem is
really bugging me.
George Najarian
Systems Engineer
address@hidden
- Problem building glibc 2.3.1 on cygwin for arm cross compiler,
George Najarian <=