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: