This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Problem building glibc
- From: Michael Eager <eager at eagerm dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 19 May 2015 11:46:18 -0700
- Subject: Problem building glibc
- Authentication-results: sourceware.org; auth=none
I'm running into an odd problem building glibc.
I'm building glibc as simply as possible:
$ cd /local/work/fsf-head/build/glibc
$ ../../src/glibc/configure --prefix=/local/work/fsf-head/install/
$ make
The make never finishes. It enters sub-directories string
and runs make, then exits, runs make in other sub-dirs, then
re-enters sub-dir string, runs make, and then repeats this
until killed.
On the first entry into sub-dir string, all of the .o
files are built. On the second and subsequent entries,
no object files are rebuilt, but limits.h is installed in
the install directory and locale-defines.h is written
in the build directory.
This is happening with top-of-tree builds of binutils
and gcc, using make-3.81. I cannot reproduce this on
another system with gcc-4.7.2 and make-3.82.
I've attached a piece of the make log showing what
is happening when sub-dir string is entered the second
time. Any suggestions are appreciated.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
make[2]: Leaving directory `/local/work/fsf-head/src/glibc/malloc'
make subdir=string -C string ..=../ subdir_lib
make[2]: Entering directory `/local/work/fsf-head/src/glibc/string'
/usr/bin/install -c -m 644 ../include/limits.h /local/work/fsf-head/install/include/limits.h
gawk -f ../scripts/gen-as-const.awk ../sysdeps/x86_64/locale-defines.sym \
| gcc -S -o /local/work/fsf-head/build/glibc/locale-defines.hT3 -std=gnu99 -fgnu89-inline -O2 -Wall -Werror -Wno-error=undef -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -I../include -I/local/work/fsf-head/build/glibc/string -I/local/work/fsf-head/build/glibc -I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -D_LIBC_REENTRANT -include /local/work/fsf-head/build/glibc/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -x c - \
-MD -MP -MF /local/work/fsf-head/build/glibc/locale-defines.h.dT -MT '/local/work/fsf-head/build/glibc/locale-defines.h.d /local/work/fsf-head/build/glibc/locale-defines.h'
sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$/#define \1 \2/p' \
/local/work/fsf-head/build/glibc/locale-defines.hT3 > /local/work/fsf-head/build/glibc/locale-defines.hT
rm -f /local/work/fsf-head/build/glibc/locale-defines.hT3
sed -e 's@ /local/work/fsf-head/build/glibc/@ $(common-objpfx)@g' -e 's@^/local/work/fsf-head/build/glibc/@$(common-objpfx)@g' -e 's@ *\.\.\/\([^ \]*\)@ $(..)\1@g' -e 's@^\.\.\/\([^ \]*\)@$(..)\1@g' \
/local/work/fsf-head/build/glibc/locale-defines.h.dT > /local/work/fsf-head/build/glibc/locale-defines.h.dT2
rm -f /local/work/fsf-head/build/glibc/locale-defines.h.dT
mv -f /local/work/fsf-head/build/glibc/locale-defines.h.dT2 /local/work/fsf-head/build/glibc/locale-defines.h.d
mv -f /local/work/fsf-head/build/glibc/locale-defines.hT /local/work/fsf-head/build/glibc/locale-defines.h
make[2]: Leaving directory `/local/work/fsf-head/src/glibc/string'
make[2]: Entering directory `/local/work/fsf-head/src/glibc/string'
/usr/bin/install -c -m 644 ../include/limits.h /local/work/fsf-head/install/include/limits.h