Version.h not found, but is present.

I am really stuck with the installation of a kernel-driver for the Xilin parallel cable.

Xilinx offers a installations script that installs the kernel-driver. In fact it is just a script checking some settings, like is the module running and are you root, and then starts the ./configure make and make install.

When running this script I see the error in the firt compile rule.
cc -c -O2 … -I/lib/modules/ … -include /lib/modules/ -c -o LINUX.2.6.22.i386/linux_wrappers.o linux_wrappers.c
In file included from linux_wrappers.c:15:
linux_common.h:17:27: error: linux/version.h: No such file or directory
linux_common.h:25:4: error: #error “This kernel is too old: not supported by this file”

It goes wrong in the header linux_commons.h.
There is a line #include <linux/version.h>. And because this file is according to the compiler not present, the code can not determine which kernel the computer is using and the code throws an error that the kernel is too old.

Any ideas how this bug can be solved?

Have you got the kernel-source package installed? What does

rpm -qa |grep kernel return?

Mine for reference:


And have you got the header files package installed?

$ rpm -qf /usr/include/linux/version.h

My mistake. I mentioned in the title that version.h is present but forgot to write it down in the post.

Kernel-source is installed and when I make a small and simple c-code with #include <linux/version.h> gcc does not return an error that version.h is missing.

I think that the problem could be in the make file. That it overrides the location of te Linux headers.

I had the same problem back to the times of 9.3 installing the driver vmnet concerning vmware. I solved this way as superuser:
cd /usr/src/linux
make oldconfig
I hope this helps you too

Thanks. I will this later.
If it works, I will directly try to find out why recompiling the kernel should do the trick.

It worked. But now I see that Xilinx is using the depricate ioctl32.h header… But that is a different story to fix. :S