'make headers_check' failed to install headers to arbitrary location

From: Sergei Poselenov
Date: Thu May 14 2009 - 12:35:13 EST


Hello,

I'm trying to install kernel headers to build a cross-toolchain, but got
the following:

make ARCH=arm INSTALL_HDR_PATH=/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi/ headers_check
...
CHECK include/linux/raid (2 files)
CHECK include/linux/spi (1 files)
CHECK include/linux/sunrpc (1 files)
CHECK include/linux/tc_act (6 files)
CHECK include/linux/tc_ematch (4 files)
CHECK include/linux/usb (8 files)
make[2]: execvp: /bin/sh: Argument list too long
make[2]: *** [/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi//include/linux/.check] Error 127
make[1]: *** [linux] Error 2
make: *** [headers_check] Error 2
->


The kernel version is 2.6.28

However, this works fine for 2.6.24.2

Running make with '-n', I've found the problem is that the filelist passed as argument to scripts/headers_check.pl apparently is too big.

The error depends also on a bash version, it failed on 2.05a, but passed
on 3.2.39. Unfortunately, bash (or the hole host system) upgrade is not
an option. Also, I'm sure I could find a path length big enough to reproduce the error on a modern bash.

What would you suggest to resolve the problem?

Thanks for any help.

Regards,
Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/