[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Building Linux 2.6.16-rc1-git4



I cannot get 2.6.16-rc1[-git4] to build, so am seeking advice here.

"make vmlinux" gives me this:

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `set -e; echo ' CHK include/linux/version.h'; mkdir -p include/linux/; if [ `echo -n "2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits" | wc -c ` -gt 64 ]; then echo '"2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits" exceeds 64 characters' >&2; exit 1; fi; (echo \#define UTS_RELEASE \"2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits\"; echo \#define LINUX_VERSION_CODE `expr 2 \\* 65536 + 6 \\* 256 + 16`; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; ) < /usr/src/linux/Makefile > include/linux/version.h.tmp; if [ -r include/linux/version.h ] && cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else echo ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi'
make: *** [include/linux/version.h] Error 2

I managed to get rid of this error by removing the trailing newline slash in Makefile on line 902, but then I get this:

  CHK     include/linux/version.h
"2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits" exceeds 64 characters
make: *** [include/linux/version.h] Error 1

This error seems to originate in code that handles .kernelrelease file, which, I am pretty sure, was not used in 2.6.15 Makefile. From what I understand, this file should contain the release number plus localversion, but on my system it contains this (in one line):

2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits

Does not look right to me. I tried to locate the code that generates the weirdness, but failed. Only managed to somewhat narrow it down to "make kernelrelease":

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `echo 2.6.16-rc1-git4 .file null .ident GCC:(GNU)4.0.320060115(prerelease)(Debian4.0.2-7) .section .note.GNU-stack,,@progbits'
make: *** [kernelrelease] Error 2

The funny thing is that I can start the build by not reading the .kernelrelease on line 347. The .kernelrelease still gets filled with the same content, but no errors occur. I did not wait for it to finish, because getting it to work is not the fun part. The fun part is figuring out why it does not work.

This is my soft:

Gnu C                  4.0.3
Gnu make               3.81beta4
binutils               2.16.91
util-linux             2.12r
mount                  2.12r
module-init-tools      3.2.2
e2fsprogs              1.39-WIP
Linux C Library        2.3.5
Dynamic linker (ldd)   2.3.5
Procps                 3.2.6
Net-tools              1.60
Kbd                    1.12
Sh-utils               5.93
udev                   081

I tried downgrading make to 3.80-9, because I have heard of breakage with recent versions, but it only resulted in slightly different error messages.

I am not really experienced with Makefiles, so I do not really know how to debug them properly. Any help would be appreciated.



Reply to: