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

Problems with kernel compilations: Which headers, and why?



Hi,

How is module compilation with make-kpkg supposed to work?  I have
currently installed:

$ dpkg -l fglrx-kernel-src thinkpad-source madwifi-source
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                     Version                  Description
+++-========================-========================-================================================================
ii  fglrx-kernel-src         8.23.7-0bpo1             Kernel module source for the ATI graphics accelerators
ii  thinkpad-source          5.8-4                    Source code for thinkpad-modules packages
ii  madwifi-source           0.svn20060207-4bpo1      source for the Multiband Atheros Driver for WiFi
ii  kernel-package           10.046bpo1               A utility for building Linux kernel related Debian packages.

I have unpacked the source tarballs (first in ~/src/, now for testing in
/usr/src), copied /boot/config-2.6.16-2-686 into the linux source tree
(as ".config") and tried to build the modules, as described in
/usr/share/kernel-package/README.modules, but I get an error:

$ make-kpkg debian
...
$ make-kpkg --append-to-version=-2-686 modules_image
exec debian/rules  DEBIAN_REVISION=2.6.16-10.00.Custom  APPEND_TO_VERSION=-2-686  modules_image 
echo "The UTS Release version in include/linux/version.h"; echo "     \"\" "; echo "does not match current version:"; echo "     \"2.6.16-2-686\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
     "" 
does not match current version:
     "2.6.16-2-686" 
Please correct this.
make: *** [modules_image] Error 2

The first thing I find strange is that the Release version in version.h
is reported as empty.  Then, which version.h is actually taken?  I have
quite a lot of them.  There's none in the linux source tree, but I have

ii  linux-headers-2.6.16-2-6 2.6.16-13bpo1            Header files for Linux kernel 2.6.16 on PPro/Celeron/PII/PIII/P4 m

$ cat ../linux-headers-2.6.16-2-686/include/linux/version.h 
#define UTS_RELEASE "2.6.16-2-686"
#define LINUX_VERSION_CODE 132624
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

ii  linux-kernel-headers     2.5.999-test7-bk-17      Linux Kernel Headers for development                              

(This is a dependency of libc6-dev)

$ cat /usr/include/linux/version.h 
#define UTS_RELEASE "2.6.0-test7"
#define LINUX_VERSION_CODE 132608
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

So which one is taken, and what should I do to make it use the right
one?  And is this a backports.org issue at all, or is it a bug in the
etch packages?

TIA, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)


Reply to: