This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

(crosstool FreeBSD->mingw->linux) halted at building glibc for linux


So I set up a FreeBSD box in order to attempt to build a canadian cross 
hosted by mingw and targeting linux since I didn't seem to be able to 
accomplish building a linux-targeted toolchain from scratch with mingw *or* 
cygwin. It probably would be simpler if I just set up a linux system 
instead, but I guess I'm a masochist.

My steps were to install a fresh minimal FreeBSD 4.10-Release, add bash, 
wget, GNU make, and GNU sed from the packages collection. GNU make because 
the linux kernal makefile would fail to run with FreeBSD's standard make. 
GNU sed because the glibc configure script expects 'sed --version' to work 
and halts when the standard FreeBSD sed waits for data from stdin.

Then I downloaded crosstool-0.28-rc28 and had it 'getandpatch' these:
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.1
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.6

I also downloaded and unpacked these:
MINGW_URL=http://aleron.dl.sourceforge.net/sourceforge/mingw
MINGW_DIR=mingw-runtime-3.3
W32API_DIR=w32api-2.5

First I built a native toolchain from these, and installed it to /usr over 
the existing gcc, since FreeBSD 4.10-Release comes standard with gcc-2.95. 
Then I built and installed a cross compiler targeting mingw, using the 
script at
http://www.libsdl.org/extras/win32/cross/build-cross.sh
as a guide.

Then I asked crosstool to build me a FreeBSD->linux toolchain so I'd have a 
coss-compiler for the target in my final step (crosstool said I'd need 
one). After a few false starts interrupted by power outages (anyone else 
experience the big storm that swept through Middle Tennessee last night?) I 
cleaned up and tried again.

I *thought* everything was going to go smoothly, but then it halted while 
building glibc (not the glibc headers) with this error:

nawk -v maxerr=`\
  i686-unknown-linux-gcc  -S  -I../include -I. -
I/usr/home/eek/xgcc/build/build-glibc/stdio-common -I.. -I../libio  -
I/usr/home/eek/xgcc/build/build-glibc -I../sysdeps/i386/elf -
I../linuxthreads/sysdeps/unix/sysv/linux/i386 -
I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -
I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -
I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -
I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -
I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -
I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -
I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -
I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -
I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -
I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -
I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 
-I../sysdeps/generic/elf -I../sysdeps/generic  -nostdinc -isystem 
/usr/local/lib/gcc/i686-unknown-linux/3.4.1/include -isystem 
/usr/local/i686-unknown-linux/include -D_LIBC_REENTRANT -include 
../include/libc-symbols.h       -D_IO_MTSAFE_IO -std=gnu99 -O3 -Wall -
Winline -Wstrict-prototypes -Wwrite-strings     -DNOT_IN_libc -
DEMIT_ERR_MAX ../sysdeps/gnu/errlist.c -o - \
  | sed -n 's/^.*@@@[^0-9]*\([0-9]*\)[^0-9]*@@@.*$/\1/p'` \
       -f ../sysdeps/gnu/errlist-compat.awk \
       ../sysdeps/i386/elf/Versions 
../linuxthreads/sysdeps/unix/sysv/linux/Versions 
../linuxthreads/sysdeps/i386/i686/Versions 
../sysdeps/unix/sysv/linux/i386/Versions 
../sysdeps/unix/sysv/linux/Versions ../sysdeps/unix/sysv/Versions 
../sysdeps/i386/i486/Versions ../sysdeps/i386/fpu/Versions 
../sysdeps/i386/Versions ../linuxthreads/Versions > 
/usr/home/eek/xgcc/build/build-glibc/stdio-common/errlist-compat.cT
*** errlist.c count 126 vs Versions sys_errlist@GLIBC_2.0 count 123
make[2]: *** [/usr/home/eek/xgcc/build/build-glibc/stdio-common/errlist-
compat.c] Error 1
make[2]: Leaving directory `/usr/home/eek/xgcc/src/glibc-2.3.2/stdio-
common'
make[1]: *** [stdio-common/subdir_lib] Error 2
make[1]: Leaving directory `/usr/home/eek/xgcc/src/glibc-2.3.2'
make: *** [all] Error 2

It's not clear to me why the configure script chose to use nawk instead of 
awk since the installed awk is GNU awk 3.0.6. I've installed gawk 3.1.1 
from the packages collection, and will symlink awk to point to it. I guess 
I'll also "hide" nawk so it won't get used. Then I'll try again. However, 
I'm not certain this will fix the problem, and hope that someone might have 
advice in the meantime.

Thanks always go to Dan,
Eric


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]