On my system a Debian squeeze x86_64 with a self-compiled kernel, the drivers 180.29 from the nvidia site installed just fine on all the kernels I did.
Today I tried to compile the newer version 180.44 and it failed, complaining that the hearder file version.h does not exist.
So, I went back and tried to install 180.29 again. Same failure with the same error message, kernel header file version.h does not exist:
ERROR: The kernel header file
does not exist. The most likely reason for this is that the kernel
source files in '/lib/modules/2.6.26-lancelot-005-amd64/build' have not
But, the header file version.h does
exist, and the path given in the error message is correct!
What is happening here?
I'll be really thankful if someone has a clue.
Right now, I'm trying to compile a brand new kernel and see if I can install the nvidia drives on this one.
Edit: 180.44 installed on the brand new kernel. Still, I need to understand what happened. I can't have to recompile a kernel everytime nvidia puts up a new driver.
Edit: I found the reason. The build subdir of the moduels directory is just a symlink ot the kernel sources. But, in the kernel sources, a make mrproper will remove part of the header files, including this version.h. This is why it was not there when the nvidia installer was looking for it. And a few minutes thereafter, when *I* was looking for it, it was there because I had just started the compilation of a new kernel.