Hi all,
This has been giving me much trouble. I am trying to build the kernel module
for my NVIDIA GeForce256. I obtained the NVIDIA_kernel-0.9-769.tar file and
extracted it to a directory, then ran make. These are the errors I got:
******
cc -c -Wall -Wunknown-pragmas -Wno-multichar -O -D__KERNEL__ -DMODULE
-D_LOOSE_KERNEL_NAMES -DUNIX -DLINUX -DNV4_HW -DNTRM -DRM20 -D_X86_=1
-Di386=1 -D_GNU_SOURCE -DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES
-DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=769 -I.
-I/usr/src/linux/include nv.c
In file included from /usr/src/linux/include/linux/module.h:207,
from nv.c:53:
/usr/src/linux/include/linux/version.h:25:30: linux/version-up.h: No such
file or directory
In file included from nv.c:55:
nv.h:127:40: missing binary operator before '<'
nv.h:130:42: missing binary operator before '<'
nv.h:133:48: missing binary operator before '<'
In file included from /usr/src/linux/include/linux/mm.h:4,
from nv.c:60:
/usr/src/linux/include/linux/sched.h:10:25: linux/tasks.h: No such file or
directory
******
This is followed by about 20 errors of the form:
/usr/src/linux/include/linux/pci.h:1468:1: warning: pasting
"pcibios_read_config_byte" and "(" does not give a valid preprocessing token
Where are these files? Typing "locate version-up.h" comes up with nothing,
as does "locate tasks.h". Are they part of the kernel source that wasn't
included with my distribution (Mandrake 8.0)? Is it OK to symlink version.h
to version-up.h? Also, the "missing binary operator" at those lines appears
to be LINUX_VERSION_CODE
After this, I tried with "make SYSINCLUDE=/usr/src/linux" which gives the
following:
*********
In file included from nv.c:50:
/usr/include/linux/modversions.h:1:2: #error Modules should never use
kernel-headers system headers,
/usr/include/linux/modversions.h:2:2: #error but headers from an appropriate
kernel-source
*********
I'd be very grateful for any help anyone can offer...
My kernel is 2.4.3 . Thanks, and sorry this is so darn long.
-Geoff