PDA

View Full Version : Can't build Nvidia driver for kernel 2.6.16-1.2069



tron_thomas
2nd April 2006, 10:57 PM
I am running Fedora Core 4 on an Intel Pentium IV system that using a 64 Megabyte nVidia GeForce 3 video card. I just updated to version 2.6.16-1.2069 of the kernel. Normally when I update the kernel I have to build the driver for the video card if I want hardware acceleration in X Windows. Usually this is a peice of cake. I simply execute the file NVIDIA-Linux-x86-1.0-8178-pkg1.run with root priveleges, and it builds the new driver, and everything works just fine.

However, after updated to this latest kernel version, building the driver fails with the following output:
cc -Wp,-MD,/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/.os-i
nterface.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.0.2/includ
e -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/kernels/2.6.16-1.2069_FC4-i68
6/include -include include/linux/autoconf.h -I/tmp/selfgz3703/NVIDIA-Linux-
x86-1.0-8178-pkg1/usr/src/nv -Wall -Wundef -Wstrict-prototypes -Wno-trigraph
s -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -
g -pipe -msoft-float -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-put
s -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mregparm=3 -I/us
r/src/kernels/2.6.16-1.2069_FC4-i686/includ
e/asm-i386/mach-default -Iinclude/asm-i386/mach-default -Wdeclaration-after-
statement -Wno-pointer-sign -I/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg
1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscri
pts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD
-Wsign-compare -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__
-DMODULE -DNTRM -DNVRM -DDYNAMIC_SLI -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION
=0 -DNV_PATCHLEVEL=8178 -UDEBUG -U_DEBUG -DNDEBUG -DNV_MULTIPLE_BRIDGE_AGPGA
RT_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DMODULE -D"KBUILD_STR(s)=#s" -D"KB
UILD_BASENAME=KBUILD_STR(os_interface)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia
)" -c -o /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/.tmp_os-i
nterface.o /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/os-inte
rface.c
In file included from include/linux/list.h:7,
from include/linux/wait.h:23,
from include/asm/semaphore.h:41,
from include/linux/sched.h:20,
from include/linux/module.h:10,
from /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv/nv-linux.h:47,
from /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv/os-interface.c:26:
include/linux/prefetch.h: In function ‘prefetch_range’:
include/linux/prefetch.h:62: warning: pointer of type ‘void *’ used in a
rithmetic
In file included from include/linux/dmapool.h:14,
from include/linux/pci.h:522,
from /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv/nv-linux.h:71,
from /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv/os-interface.c:26:
include/asm/io.h: In function ‘check_signature’:
include/asm/io.h:258: warning: wrong type argument to increment
In file included from /tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv/os-interface.c:26:
/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv-linux.h:677:2:
warning: #warning "conftest.sh failed, assuming remap_page_range(4)!"
/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/os-interface.c: In
function ‘os_set_mlock_capability’:
/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/os-interface.c:137
5: error: ‘struct task_struct’ has no member named ‘rlim’
make[4]: *** [/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/os-i
nterface.o] Error 1
make[3]: *** [_module_/tmp/selfgz3703/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src
/nv] Error 2
make[2]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [mdl] Error 1
make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.


I checked the nVidia web site, and I have the latest version of the driver. What can I do to correct these errors so I am able to build the driver and use it with the new kernel?

code_astronomer
2nd April 2006, 11:01 PM
I don't think you will be able to get it to build. You can always one of the many tutorials in the howto section of this forum or issue the following command:

yum install nvidia-glx
I think thats the exact command...if not, type:
yum list *nvidia* and install the kernel module and glx that match your kernel version. (You will need the livna repo enabled)

stanmc
2nd April 2006, 11:08 PM
Try this forum resource.

http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14

This is the NVIDIA Linux Forum -nV News Forums.

They have a lot of posts on subjects like this, and very helpful forum monitors.

tron_thomas
3rd April 2006, 12:37 AM
I ran yum install nvidia-glx. That installed some components, and it allows me to start X Windows with the new kernel. However when I try to start an OpenGL application that I wrote, I get the following output:

Xlib: extension "GLX" missing on display ":0.0".

code_astronomer
3rd April 2006, 12:57 AM
aaa...yes...you need to enable it.
I think I used this as a reference when I did mine: http://www.mjmwired.net/resources/mjm-fedora-fc5.html#nvidia



# chkconfig --level 35 nvidia-glx on
# /etc/init.d/nvidia-glx start

tron_thomas
3rd April 2006, 01:41 AM
I got it to work. I went to the forum that is specific to nVidia on Linux. I found some patches that I could apply to the driver installation file. After I applied the patches I was able to build the driver like I always do and everything works now.