When updating to 2.6.31 the nvidia-drivers will not compile any more due to a missing member in a struct in the kernel. As soon as /usr/src/linux is linked egains 2.6.31 it will fail. Reproducible: Always Steps to Reproduce: 1. update kernel 2. emerge nvidia-drivers to get X 3. boom Actual Results: cc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/.os-agp.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/include -Iinclude -I/usr/src/linux-2.6.31-gentoo/arch/x86/include -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -march=core2 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -I/var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -mcmodel=kernel -mno-red-zone -fno-defer-pop -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"185.18.14\" -UDEBUG -U_DEBUG -DNDEBUG -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(os_agp)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/.tmp_os-agp.o /var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/os-agp.c /var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/os-agp.c: In function 'KernLoadAGPPages': /var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/os-agp.c:296: error: 'agp_memory' has no member named 'memory' make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv/os-agp.o] Error 1 make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-185.18.14/work/NVIDIA-Linux-x86_64-185.18.14-pkg2/usr/src/nv] Error 2 NVIDIA: left KBUILD. nvidia.ko failed to build! make[1]: *** [module] Error 1 make: *** [module] Error 2 attaching patch: http://fedoraforum.org/forum/showthread.php?t=224668
Created attachment 203739 [details, diff] patch for nvidia-185.18.14 on 2.6.31 http://leigh123linux.fedorapeople.org/pub/patches/nvidia-185.18.14.patch
(In reply to comment #1) > Created an attachment (id=203739) [edit] > patch for nvidia-185.18.14 on 2.6.31 > > http://leigh123linux.fedorapeople.org/pub/patches/nvidia-185.18.14.patch > this patch is working for 2.6.31-gentoo - but breaks compiling on older kernels (as expected)
Created attachment 205013 [details, diff] ebuild applying fedora patch if kernel i > 2.6.30 Assumes the fedora patch file is in files
The Gentoo developers have a policy of not patching the kernel part of the NVIDIA drivers for compatibility with newer kernel versions. Feel free to use one of the currently masked nvidia-drivers releases (190.*) which compile just fine with 2.6.31.