I am trying to upgrade our build server from opensuse 9 to ubuntu 14.04. Our target operative system is uClinux with kernel 2.6.24 and glibc 2.5 and gcc 4.2.1. We are using crosstool-ng for building our cross toolchain. Building toolchain is working fine and it is possible to build the kernel as well. But when building the glibc in nptl, the build is exiting with make Error 1.
I am seeing just one error which repeats:
make[4]: execvp: /bin/sh: Argument list too long
In some posts like this one or this one it seems that the problem is the maximum size of strings passed to execve system call.
However what is starnage is that when on our old opensuse I am running: getconf ARG_MAX
then the answer is 131072, while on the ubuntu 14 the answer is getconf ARG_MAX which is much bigger. and in the same way running cat /proc/$$/environ | wc -c
on opensuse whill give 482 as answer while the answer on ubuntu is 1257. When I am moving the glibc folder to a folder with shorter path, then build works without problem.
I wonder if this is the real problem and if there is a solution for this.
The make file I am using for building glibc is:
glibc-2.3.6-url := \
http://ftp.gnu.org/gnu/glibc/glibc-2.3.6.tar.bz2
glibc-linuxthreads-2.3.6-url := \
http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.6.tar.bz2
glibc-libidn-2.3.6-url := \
http://ftp.gnu.org/gnu/glibc/glibc-libidn-2.3.6.tar.bz2
glibc-2.5-url := \
http://ftp.gnu.org/gnu/glibc/glibc-2.5.tar.bz2
glibc-linuxthreads-2.5-url := \
http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2
glibc-libidn-2.5-url := \
http://ftp.gnu.org/gnu/glibc/glibc-libidn-2.5.tar.bz2
CONFOPTS = --prefix= \
$(GLIBC_TARGET_OPTS) --host=$(CROSS_COMPILE:-=) \
--with-tls --enable-max-arg-list-hack --without-cvs --without-gd \
--with-headers=$(ROOTDIR)/$(LINUXDIR)/include \
--disable-profile --disable-force-install \
CONFOPTS += --enable-kernel=2.6.24
# do we want a non-debuggable lib or not, if so remove the C flag and
# enable it in glibc, it knows best where to add it.
ifneq ($(findstring -fomit-frame-pointer,$(CFLAGS)),)
CONFOPTS += --enable-omitfp
CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS))
endif
CFLAGS := $(subst -fno-common,,$(CFLAGS))
CFLAGS := $(subst -fno-builtin,,$(CFLAGS)) -fgnu89-inline
repl = -Wl,--fatal-warnings
LDFLAGS := $(subst $(repl),,$(LDFLAGS))
LDFLAGS := $(subst -nostdlib,,$(LDFLAGS))
LDFLAGS := $(subst -nostartfiles,,$(LDFLAGS))
export CFLAGS LDFLAGS
BUILD_CC = $(HOSTCC)
export BUILD_CC
GLIBC_ALL = glibc-2.5-all
WGET ?= wget
all: $(GLIBC_ALL)
%.tar.bz2 %.tar.gz:
@echo "Downloading $* ..."
@[ -d "$$HOME/.downloads" ] || mkdir ~/.downloads
@if [ ! -f "$$HOME/.downloads/$@" ]; then \
(cd ~/.downloads; $(WGET) "$($*-url)"); \
fi
@if [ -f "$$HOME/.downloads/$@" ]; then \
ln -fs "$$HOME/.downloads/$@" $@; \
fi
if [ ! -f "$@" ]; then \
echo "Cannot find download for $@" >&2 ; \
exit 1; \
fi
glibc-2.5-all: glibc-2.5-configured
rm -rf install
mkdir install
env LANGUAGE=C LC_ALL=C $(MAKE) -C glibc-2.5 -f Makefile -r srcdir=`pwd` objdir=`pwd`/build install_root=`pwd`/install install
: fix groups in linker scripts
@find install/. -type f -name *.so* | while read t; do \
if file "$$t" | grep -i ascii > /dev/null; then \
echo "Fixing $$t ..."; \
sed 's?\([ (]\)\(/lib/[^ )]*\)?\1'"`pwd`/install"'\2?g' < "$$t" > "$$t.fixup"; \
cp "$$t.fixup" "$$t"; \
rm -f "$$t.fixup"; \
fi \
done
glibc-2.5-extracted: Makefile glibc-2.5.tar.bz2 glibc-linuxthreads-2.5.tar.bz2 glibc-libidn-2.5.tar.bz2
rm -rf glibc-2.5 glibc-libidn-2.5 install build
bunzip2 < glibc-2.5.tar.bz2 | tar xf -
# bunzip2 < glibc-linuxthreads-2.5.tar.bz2 | (cd glibc-2.5; tar xf -)
# bunzip2 < glibc-libidn-2.5.tar.bz2 | tar xf -
# mv glibc-libidn-2.5 glibc-2.5/libidn
# rm -rf glibc-2.5/nptl glibc-2.5/nptl_db
# @for i in glibc-2.5*.patch; do \
# [ -f $$i ] || continue; \
# echo "Applying $$i ..."; \
# (cd glibc-2.5; patch -p1) < $$i; \
# done
touch $@
glibc-2.5-configured: Makefile glibc-2.5-extracted
rm -rf build
mkdir build
(cd build; \
CC="$(subst ucfront-gcc,,$(CC))" \
CXX="$(subst ucfront-g++,,$(CXX))" \
libc_cv_ssp=no \
/bin/bash ../glibc-2.5/configure $(CONFIGURE_OPTS) $(CONFOPTS) \
--datadir=/usr/share --enable-add-ons; \
)
mkdir build/dlfcn
ln -s libdl.so build/dlfcn/libdl.so.2
touch $@
glibc-2.3.6-all: glibc-2.3.6-configured
rm -rf install
mkdir install
env no_deps=t LANGUAGE=C LC_ALL=C make -C build -f Makefile install_root=`pwd`/install
env no_deps=t LANGUAGE=C LC_ALL=C make -C build -f Makefile install_root=`pwd`/install install
: fix groups in linker scripts
@find install/. -type f -name *.so* | while read t; do \
if file "$$t" | grep -i ascii > /dev/null; then \
echo "Fixing $$t ..."; \
sed 's?\([ (]\)\(/lib/[^ )]*\)?\1'"`pwd`/install"'\2?g' < "$$t" > "$$t.fixup"; \
cp "$$t.fixup" "$$t"; \
rm -f "$$t.fixup"; \
fi \
done
glibc-2.3.6-extracted: Makefile glibc-2.3.6.tar.bz2 glibc-linuxthreads-2.3.6.tar.bz2 glibc-libidn-2.3.6.tar.bz2
rm -rf glibc-2.3.6 install build
bunzip2 < glibc-2.3.6.tar.bz2 | tar xf -
bunzip2 < glibc-linuxthreads-2.3.6.tar.bz2 | (cd glibc-2.3.6; tar xf -)
bunzip2 < glibc-libidn-2.3.6.tar.bz2 | (cd glibc-2.3.6; tar xf -)
rm -rf glibc-2.3.6/nptl
rm -rf glibc-2.3.6/nptl_db
@for i in glibc-2.3.6*.patch; do \
[ -f $$i ] || continue; \
echo "Applying $$i ..."; \
(cd glibc-2.3.6; patch -p1) < $$i; \
done
touch $@
glibc-2.3.6-configured: Makefile glibc-2.3.6-extracted
rm -rf build
mkdir build
(cd build; \
CC="$(subst ucfront-gcc,,$(CC))" \
CXX="$(subst ucfront-g++,,$(CXX))" \
/bin/bash ../glibc-2.3.6/configure $(CONFIGURE_OPTS) $(CONFOPTS) \
--with-tls --without-__thread --datadir=/usr/share --enable-add-ons; \
)
#mkdir build/dlfcn
#ln -s libdl.so build/dlfcn/libdl.so.2
touch $@
clean:
rm -rf build install
rm -rf glibc-2.5 glibc-2.5-extracted
rm -rf glibc-2.3.6 glibc-2.3.6-extracted
rm -f glibc-*.tar.bz2 glibc-*.tar.gz
romfs:
cp -r $(ROOTDIR)/$(LIBCDIR)/install/include $(ROMFSDIR)/usr/
cp -r $(ROOTDIR)/$(LIBCDIR)/install/lib $(ROMFSDIR)/
# @for i in install; do \
# echo "Installing `basename $$i -install` ..."; \
# $(ROMFSINST) -f $$i/bin /bin; \
# $(ROMFSINST) -f $$i/lib /lib; \
# $(ROMFSINST) -f $$i/etc /etc; \
# $(ROMFSINST) -f $$i/include $(ROMFSDIR)/usr; \
# mv $(ROMFSDIR)/etc/config/* $(ROMFSDIR)/etc/default > /dev/null 2>&1; \
# $(ROMFSINST) -f $$i/usr/share /share; \
# done
# rm -f $(ROMFSDIR)/lib/*.a
# rm -f $(ROMFSDIR)/lib/*.la
This is th last part of make log :
make[4]: Entering directory `/.../uClinux/glibc/glibc-2.5/nptl'
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym \
| i586-unknown-linux-gnu-gcc -S -o /.../uClinux/glibc/build/pthread-pi-defines.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/.../uClinux/glibc/build/nptl -I/.../uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem /.../crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem /.../uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF /.../uClinux/glibc/build/pthread-pi-defines.h.dT -MT '/.../uClinux/glibc/build/pthread-pi-defines.h.d /.../uClinux/glibc/build/pthread-pi-defines.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.sym \
| i586-unknown-linux-gnu-gcc -S -o /.../uClinux/glibc/build/lowlevelrobustlock.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/.../uClinux/glibc/build/nptl -I/.../uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem /.../crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem /.../uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF /.../uClinux/glibc/build/lowlevelrobustlock.h.dT -MT '/.../uClinux/glibc/build/lowlevelrobustlock.h.d /.../uClinux/glibc/build/lowlevelrobustlock.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/unwindbuf.sym \
| i586-unknown-linux-gnu-gcc -S -o ...uClinux/glibc/build/unwindbuf.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I...uClinux/glibc/build/nptl -I...uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem ...crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem ...uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF ...uClinux/glibc/build/unwindbuf.h.dT -MT '...uClinux/glibc/build/unwindbuf.h.d ...uClinux/glibc/build/unwindbuf.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym \
| i586-unknown-linux-gnu-gcc -S -o ...uClinux/glibc/build/lowlevelbarrier.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I...uClinux/glibc/build/nptl -I...uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem ...crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem ...uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF ...uClinux/glibc/build/lowlevelbarrier.h.dT -MT '...uClinux/glibc/build/lowlevelbarrier.h.d ...uClinux/glibc/build/lowlevelbarrier.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym \
| i586-unknown-linux-gnu-gcc -S -o ...uClinux/glibc/build/lowlevelrwlock.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I...uClinux/glibc/build/nptl -I...uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem ...crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem ...uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF ...uClinux/glibc/build/lowlevelrwlock.h.dT -MT '...uClinux/glibc/build/lowlevelrwlock.h.d ...uClinux/glibc/build/lowlevelrwlock.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym \
| i586-unknown-linux-gnu-gcc -S -o ...uClinux/glibc/build/lowlevelcond.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I...uClinux/glibc/build/nptl -I...uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem ...crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem ...uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF ...uClinux/glibc/build/lowlevelcond.h.dT -MT '...uClinux/glibc/build/lowlevelcond.h.d ...uClinux/glibc/build/lowlevelcond.h'
make[4]: execvp: /bin/sh: Argument list too long
gawk -f ../scripts/gen-as-const.awk pthread-errnos.sym \
| i586-unknown-linux-gnu-gcc -S -o ...uClinux/glibc/build/pthread-errnos.hT3 -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I...uClinux/glibc/build/nptl -I...uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem ...crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem ...uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
-MD -MP -MF ...uClinux/glibc/build/pthread-errnos.h.dT -MT '...uClinux/glibc/build/pthread-errnos.h.d ...uClinux/glibc/build/pthread-errnos.h'
make[4]: execvp: /bin/sh: Argument list too long
make[4]: Leaving directory `...uClinux/glibc/glibc-2.5/nptl'
make[3]: *** [nptl/subdir_lib] Error 2
make[3]: Leaving directory `...uClinux/glibc/glibc-2.5'
make[2]: *** [glibc-2.5-all] Error 2
make[2]: Leaving directory `...uClinux/glibc'
make[1]: *** [all] Error 2
make[1]: Leaving directory `...uClinux/lib'
make: *** [subdirs] Error 1
I can not find any more detailed information about the error by running make in debug mode and using strace:
Found an implicit rule for `/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os'.
Considering target file `libc-cancellation.c'.
Looking for an implicit rule for `libc-cancellation.c'.
No implicit rule found for `libc-cancellation.c'.
Finished prerequisites of target file `libc-cancellation.c'.
No need to remake target `libc-cancellation.c'.
Considering target file `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Looking for an implicit rule for `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Trying pattern rule with stem `pthread-errnos'.
Trying rule prerequisite `../scripts/gen-as-const.awk'.
Trying implicit prerequisite `pthread-errnos.sym'.
Found an implicit rule for `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Pruning file `../scripts/gen-as-const.awk'.
Pruning file `pthread-errnos.sym'.
....
Pruning file `../sysdeps/unix/sysdep.h'.
Pruning file `../sysdeps/generic/sysdep.h'.
Pruning file `../sysdeps/unix/sysv/linux/sys/syscall.h'.
Pruning file `/home/build/path/uClinux/linux-2.6.x/include/asm/unistd.h'.
Pruning file `/home/build/path/uClinux/linux-2.6.x/include/asm/unistd_32.h'.
Pruning file `../sysdeps/i386/sysdep.h'.
Pruning file `../sysdeps/generic/bp-sym.h'.
Pruning file `../sysdeps/i386/bp-asm.h'.
...
Pruning file `../socket/sys/socket.h'.
Pruning file `../include/sys/uio.h'.
Pruning file `../misc/sys/uio.h'.
Pruning file `../sysdeps/unix/sysv/linux/bits/uio.h'.
Pruning file `../sysdeps/unix/sysv/linux/bits/socket.h'.
Pruning file `../bits/sockaddr.h'.
Pruning file `/home/build/path/uClinux/linux-2.6.x/include/asm/socket.h'.
Pruning file `/home/build/path/uClinux/linux-2.6.x/include/asm/sockios.h'.
Pruning file `../sysdeps/unix/sysv/linux/bits/in.h'.
Pruning file `../sysdeps/i386/bits/byteswap.h'.
Finished prerequisites of target file `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `../scripts/gen-as-const.awk' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `pthread-errnos.sym' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `../include/libc-symbols.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `/home/build/path/uClinux/glibc/build/config.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `../sysdeps/wordsize-32/symbol-hacks.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `../include/errno.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-errnos.h'.
Prerequisite `../stdlib/errno.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-err
....
.......
Prerequisite `../time/sys/time.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../sysdeps/unix/sysv/linux/i386/sys/user.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../sysdeps/generic/unwind.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../include/resolv.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../resolv/resolv.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../include/netinet/in.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../inet/netinet/in.h' is older than target `/home/
Prerequisite `../sysdeps/unix/sysv/linux/bits/in.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../sysdeps/i386/bits/byteswap.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Prerequisite `../nptl/sysdeps/unix/sysv/linux/internaltypes.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
...
Prerequisite `../sysdeps/unix/sysv/linux/kernel-features.h' is older than target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
No need to remake target `/home/build/path/uClinux/glibc/build/pthread-pi-defines.h'.
Finished prerequisites of target file `/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os'.
Must remake target `/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os'.
i586-unknown-linux-gnu-gcc libc-cancellation.c -c -std=gnu99 -DCONFIG_GEODE -DCONFIG_NETtel -DCONFIG_SECUREEDGE -DCONFIG_X86 -DEMBED -O1 -Wall -Winline -Wwrite-strings -fgnu89-inline -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -fPIC -g0 -O99 -fomit-frame-pointer -D__USE_STRING_INLINES -fasynchronous-unwind-tables -I../include -I/home/build/path/uClinux/glibc/build/nptl -I/home/build/path/uClinux/glibc/build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i586 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -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../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/i386/i586 -I../sysdeps/i386/i586 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../nptl -I.. -I../libio -I. -nostdinc -isystem /home/build/path/crosstool-ng/output/gcc-4.2.1-glibc-2.5/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.2.1/include -isystem /home/build/path/uClinux/linux-2.6.x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -DNOT_IN_libc=1 -DIS_IN_rtld=1 -o /home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os -MD -MP -MF /home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os.dt -MT /home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os
make[6]: execvp: i586-unknown-linux-gnu-gcc: Argument list too long
Putting child 0x08e3bdf0 (/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os) PID 30194 on the chain.
Live child 0x08e3bdf0 (/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os) PID 30194
Reaping losing child 0x08e3bdf0 PID 30194
make[6]: *** [/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os] Error 127
Removing child 0x08e3bdf0 PID 30194 from chain.
make[6]: Leaving directory `/home/build/path/uClinux/glibc/glibc-2.5/nptl'
Reaping losing child 0x09c22ab0 PID 27931
make[5]: *** [/home/build/path/uClinux/glibc/build/nptl/rtld-libc-cancellation.os] Error 2
Removing child 0x09c22ab0 PID 27931 from chain.
make[5]: Leaving directory `/home/build/path/uClinux/glibc/glibc-2.5/elf'
Reaping losing child 0x09bcc1d0 PID 25914
make[4]: *** [/home/build/path/uClinux/glibc/build/elf/rtld-libc.a] Error 2
Removing child 0x09bcc1d0 PID 25914 from chain.
make[4]: Leaving directory `/home/build/path/uClinux/glibc/glibc-2.5/elf'
Reaping losing child 0x09832258 PID 25497
make[3]: *** [elf/subdir_lib] Error 2
Removing child 0x09832258 PID 25497 from chain.
make[3]: Leaving directory `/home/build/path/uClinux/glibc/glibc-2.5'
make[2]: *** [glibc-2.5-all] Error 2
make[2]: Leaving directory `/home/build/path/uClinux/glibc'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/build/path/uClinux/lib'
make: *** [subdirs] Error 1
[{WIFEXITED(s) && WEXITSTATUS(s) == 2}], 0, NULL) = 28994
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [])
exit_group(2) = ?