Updating nVidia drivers error
I have downloaded the latest nvidia drivers (2880) and tried updating my RH7.2 system, but get the following error when
running the make install command: ------------------------------- In file included from nv.c:22: /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 rather headers from an appropriate kernel-source package. /usr/include/linux/modversions.h:3:2: #error Change -I/usr/src/linux/include (or similar) to /usr/include/linux/modversions.h:4:2: #error -I/lib/modules/$(uname -r)/build/include /usr/include/linux/modversions.h:5:2: #error to build against the currently-running kernel. make: *** [nv.o] Error 1 -------------------------------- The nvidia site has this in their FAQ, but it doesn't really help a newbie like me: Q: Installing the NVIDIA_kernel module gives an error message like: #error Modules should never use kernel-headers system headers #error but headers from an appropriate kernel-source A: You need to install the source for the Linux kernel. In most situations you can fix this problem by installing the kernel-source package for your distribution. What do I have to do?? I have a standard installation of RH7.2 and have never messed around with the kernel (as if I knew how to :confused: ) Can someone help .... please |
Try following its suggestion
It's giving you the answer in the error:
#error Change -I/usr/src/linux/include (or similar) to #error -I/lib/modules/$(uname -r)/build/include In the Makefile look for the -I/usr/src/linux/include line and change it to -I/lib/modules/$(uname -r)/build/include. Offhand, it looks like the compiler is being pedantic. There's really no need for this, other than to force correctness. |
Re: Updating nVidia drivers error
Quote:
|
The RPM nVidia drivers will not work most of time
install the source drivers (.tar.gz or tar.bz2) instead the installation help files are on nvidia web site |
frustrated
ok first off, thanks for the replys.
I have tried a few things since I last posted... I added the SYSINCLUDE=/... option to the 'Make' command as detailed in the nvidia readme, but it just gave me the same error. I wasn't too sure where the "kernel header" files were (or what they look like) so I tried about 40,000 different (slight exageration) paths like: /lib/modules/include/ /usr/src/redhat/modules/ /usr/modules/2.4.7-10/kernel/ or something like that. Can't remember the exact paths but I know I tried all of the ones I could find relevant files in. Can someone point me in the right direction as to what these directories generally should contain?? Secondly, I gave up on trying to compile my own drivers, and thought I'd try the next thing on nvidia's list. I ran the nv_check.sh script I found somewhere which checks out my system. It passed all of the tests up until checking that the NVdriver module was installed. So next I tried doing a modprobe NVdriver with the following results: ---------------------------------------------------------------------------------- $ modprobe NVdriver /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol _pollwait_R6dac8142 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol init_mm_Rb295fff9 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol proc_root_Rd53464da /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol irq_stat_R67732e05 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol create_proc_entry_Rb7ba90c7 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol register_chrdev_R827e2e0f /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol remove_proc_entry_Rf691595b /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol mem_map_Rfb7cd42f ---------------------------------------------------------------------------------- Thirdly, I thought I'd try the rpm package again followed by the modprobe command: ---------------------------------------------------------------------------------- $ rpm -i NVIDIA_kernel-1.0-2313.rpm package NVIDIA_kernel-1.0-2313.rh72up is already installed $ rpm -i NVIDIA_GLX-1.0-2313.rpm package NVIDIA_GLX-1.0-2313 is already installed $ modprobe NVdriver /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol _pollwait_R6dac8142 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol init_mm_Rb295fff9 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol proc_root_Rd53464da /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol irq_stat_R67732e05 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol create_proc_entry_Rb7ba90c7 /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol register_chrdev_R827e2e0f /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol remove_proc_entry_Rf691595b /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: unresolved symbol mem_map_Rfb7cd42f /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: insmod /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver failed /lib/modules/2.4.7-10/kernel/drivers/video/NVdriver: insmod NVdriver failed ---------------------------------------------------------------------------------- please help ... I can't even run the Chromium game that comes with RH7.2 !! It's tooooooo slow ... how embarasing :cry: |
unresolved symbols
unresolved symbols are almost always caused because the module does not match the kernel. In your case, you have to get the damn thing to compile.
Try changing your SYSINCLUDE to /lib/modules/[kernel version]/build/include [kernel version] should be your kernel version (2.4.17, 2.2.12, whatever) I have the v2880 drivers working fine with my (slackware) setup but I have never had the trouble that you are having. Mine was pretty much untar and compile. in my driver Makefile: KERNDIR is "/lib/modules/$(shell uname -r)" KERNINC uses KERNDIR I do not have SYSINCLUDE set at all, so the makefile uses KERNINC. RedHat may be different, but try "unset SYSINCLUDE" before you run make. |
One thing you can do that may help is check to see if you have the kernel source and header rpm's installed from your redhat cd. Make sure that they match the kernel version your using, do "uname -a" to check.
|
how do I check for the installation of the header files and/or rpm?
|
There will be kernel source and header rpm's on the redhat cd's.
|
that's where they are, but how do I check that they are installed on my system?
also, does anyone know why the modprobe is failing when the rpm's are apparently installed?? |
I have just noticed on another post ls colors that white on flashing red is a broken link. In my /lib/modules/2.4.7-10 folder I have 'build' flashing like this.
1. Does this mean that something is missing from my install. I installed the RH7.2 header files at the weekend from the install CD, and tried compiling the nvidia drivers again, but got the same error (your trying to compile using a different complier that was used to compile the running kernel). I ran a dmsg(?) command (that I got from another post) and it lists everything about your system. It said that my system was compiled using RH7.1 ?? 2. Is that true? 3. It mentions using the IGNORE_CC_MISMATCH command, but where and how do I type this in? I've tried: $ make IGNORE_CC_MISMATCH I think I may have to start from scratch and re-install RedHat and go from there, unless anyone's got any other suggestions? |
The "build" directory links automagically to the directory where your linux kernel source is, once you have compiled and installed the kernel and modules.
It is best to compile and install your kernel first, then run lilo and reboot before you try building the nvidia driver. If you get the error about a different compiler, this is probably because RedHat is using the egcs compiler for the kernel and gcc is the default compiler. You can check this using the "cat /proc/version" command for the kernel compiler and "gcc -v" for the system compiler. It's kind of irritating that nvidia doesn't script for this and take care of it rather than giving you these confusing error messages, because you are probably unable to boot into X and kind of in a panic as it is. If you can't get into X the easiest way to fix it is to type the command "vi Makefile" from within the nvidia directory, and scroll down with the arrow keys to a spot near the top, i.e. right after the CFLAGS section, and type "i" to go into insert mode, then type the line "CC=egcs" without the quotes. You could also hit enter a couple times to make line breaks if you need to. Then hit the escape key to get out of insert mode and type ":wq" and hit enter, that will save it. make should now work. |
All times are GMT -5. The time now is 08:09 PM. |