If you use make-kpkg to build your kernels and you’re running Lenny you may have had problems building 2.6.34 when it came out. With kernel-package version 11.015 I’m getting the following error:
The UTS Release version in include/linux/version.h "" does not match current version: "2.6.34" Please correct this
I’m sure more recent packages have this bug squashed but on Lenny it’s still a problem. What’s happening is make-kpkg is looking for a version string in $(KERN_ROOT)/include/linux/version.h and it’s not there. Every once in a while the kernel maintainers move stuff around and that’s exactly what happened. The UTS_RELEASE definition was moved from $(KERN_ROOT)/include/linux/utsrelease.h to $(KERN_ROOT)/include/generated/utsrelease.h
I found it confusing that the error message lists the version.h file. Turns out this definition has been moved before and when make-kpkg can’t find it in $(KERN_ROOT)/include/linux/utsrelease.h it falls back to version.h in the same directory. So we fix it with a quick patch.
--- ./version_vars.mk 2008-11-24 12:01:32.000000000 -0500 +++ ./version_vars.mk.new 2010-06-29 21:51:50.000000000 -0400 @@ -138,10 +138,10 @@ EXTRAV_ARG := endif -UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then - echo include/linux/utsrelease.h; +UTS_RELEASE_HEADER=$(call doit,if [ -f include/generated/utsrelease.h ]; then + echo include/generated/utsrelease.h; else - echo include/linux/version.h ; + echo include/linux/utsrelease.h ; fi) UTS_RELEASE_VERSION=$(call doit,if [ -f $(UTS_RELEASE_HEADER) ]; then grep 'define UTS_RELEASE' $(UTS_RELEASE_HEADER) |
Down load version_vars.mk.patch. Copy this patch to /usr/share/kernel-package/ruleset/misc/ and apply it:
zcat version_vars.mk.patch.gz | sudo patch -p1
If you’ve already tried to build your kernel and had it fail because of this bug you should copy the version_vars.mk we just patched to $(KERN_ROOT)/debian/ruleset/misc/ and run make-kpkg again. This should keep you from having to rebuild the whole kernel … which takes an age on my laptop.
Can’t wait for Squeeze to go stable but that always comes with a whole set of new problems 🙂