[CentOS] Can't Compile Driver due to Missing version.h

Fri Jan 8 13:54:13 UTC 2010
Peter Kjellstrom <cap at nsc.liu.se>

On Friday 08 January 2010, Mufit Eribol wrote:
> Dear All,
>
> I use a raid card on my Centos 5.4 server. Whenever I updated the
> kernel, I used to compile drivers of the card for the new kernel. I have
> done this many times in the past without any problem.
>
> But this time after installing the new kernel files given below, I can
> not compile the new driver anymore.

The way it should work is that kernel-PAE-2.6.18-164.9.1.el5 contains a 
symlink "/lib/modules/2.6.18-164.9.1.el5PAE/build" which points 
to "/usr/src/kernels/2.6.18-164.9.1.el5-PAE-i686" (from 
kernel-PAE-devel-2.6.18-164.9.1.el5 which also has among other things 
include/linux/config.h...).

I don't have a machine that runs the 164.9.1 PAE kernel but the packages seems 
ok on my mirror:

 $ rpm -qlp kernel-PAE-2.6.18-164.9.1.el5.i686.rpm | grep build
 /lib/modules/2.6.18-164.9.1.el5PAE/build

 $ rpm -qlp kernel-PAE-devel-2.6.18-164.9.1.el5.i686.rpm | \ 
grep "/include/linux/config.h"
 /usr/src/kernels/2.6.18-164.9.1.el5-PAE-i686/include/linux/config.h

You could start by checking the symlink:

 $ ls -ld /lib/modules/$(uname -r)/build

..then the contents of the .../include/linux/ dir:

 $ ls /lib/modules/$(uname -r)/build/include/linux/

/Peter

> kernel-headers-2.6.18-164.9.1.el5
> kernel-PAE-devel-2.6.18-164.9.1.el5
> kernel-PAE-2.6.18-164.9.1.el5
>
> The make command can not find /include/linux/version.h file with the
> following error. But the file is already there.
>
> make KERNELDIR= /lib/modules/2.6.18-164.9.1.el5PAE/build
> grep: /include/linux/version.h: No such file or directory
> expr: syntax error
> ../../../inc/linux/Makefile.def:85: *** Only kernel 2.4/2.6 is supported
> but you use 2..  Stop.
>
> [root at server linux]#locate include\/linux\/version.h command gives the
> following result.
>
> /usr/include/linux/version.h
> /usr/src/kernels/2.6.18-128.1.1.el5-PAE-i686/include/linux/version.h
> /usr/src/kernels/2.6.18-164.9.1.el5-PAE-i686/include/linux/version.h
> /usr/src/kernels/2.6.18-92.1.18.el5-PAE-i686/include/linux/version.h
>
> I would appreciate any help.
>
> Thank you.
> Mufit Eribol
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.centos.org/pipermail/centos/attachments/20100108/11094c4b/attachment-0004.sig>