The NVIDIA kernel module has a kernel interface layer that must be compiled specifically for each kernel. NVIDIA distributes the source code to this kernel interface layer, as well as precompiled versions for many of the kernels provided by popular Linux distributions.
When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work. On most systems, this means that you will need to locate and install the correct kernel-source, kernel-headers, or kernel-devel package; on some distributions, no additional packages are required (e.g. Fedora Core 3, Red Hat Enterprise Linux 4).
Note that linking of the kernel interface requires you to have a
linker installed on your system. The linker, usually
/usr/bin/ld, is part of the binutils package. If
a precompiled kernel interface is not found, you must install a
linker prior to installing the NVIDIA driver.