nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Unable to compile for kernel 2.6.29 (http://www.nvnews.net/vbulletin/showthread.php?t=131138)

hasfill 04-05-09 05:59 PM

Unable to compile for kernel 2.6.29
 
Neither
NVIDIA-Linux-x86_64-180.44-pkg2
nor
NVIDIA-Linux-x86_64-185.13-pkg2
will compile with kernel 2.6.29.
Error message from 185.13 is
/.../NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:703: error: ■struct proc_dir_entry■ has no member named ■owner■

Is this a known problem or is there a later version I have missed?

ledoc 04-05-09 06:33 PM

Re: Unable to compile for kernel 2.6.29
 
Both 180.44 and 185.13 should work with 2.6.29 (at least they do for me).

Maybe your kernel sources/headers are not ok.

gavron 04-05-09 11:12 PM

Re: Unable to compile for kernel 2.6.29
 
Quote:

Originally Posted by ledoc (Post 1976320)
Both 180.44 and 185.13 should work with 2.6.29 (at least they do for me).

Maybe your kernel sources/headers are not ok.

Negative.

Past 2.6.29(release) they do not work.

2.6.29gitX require that the offending lines be commented out.

I've done this to get VMware and Nvidia to compile.

Let me be honest. It's been a Formula1 at 0200 weekend and I've drank a lot of Scotch. I don't trust my ability to put together a comprehensive patch. Please accept the diffs below in the stead.

Ehud
gavron@egxps:/usr/local/src$ pwd
/usr/local/src
gavron@egxps:/usr/local/src$ grep -A6 KERNEL_VERSION.*29 NVIDIA-Linux-x86_64-185.13-pkg2/*/*/*/*
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- proc_nvidia->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- proc_nvidia_cards->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- proc_nvidia_warnings->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- for (j = 0; j < num_nv_devices; j++)
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- if (nv_find_pci_capability(dev, PCI_CAP_ID_AGP))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- {
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- /*
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- * Create the /proc/driver/nvidia/agp/{status,host-bridge,card}
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- proc_nvidia_agp = entry;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry = create_proc_entry("status", flags, proc_nvidia_agp);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- if (!entry) {
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry = create_proc_entry("host-bridge", flags, proc_nvidia_agp);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- if (!entry) {
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- NV_PCI_DEV_PUT(dev);
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry = create_proc_entry("card", flags, proc_nvidia_agp);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- if (!entry) {
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- NV_PCI_DEV_PUT(dev);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- goto failed;
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- }
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- NV_PCI_DEV_PUT(dev);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- }
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry = create_proc_entry("registry", flags, proc_nvidia);
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- if (!entry)
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- goto failed;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- return;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-failed:
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- nv_printf(NV_DBG_ERRORS, "NVRM: failed to create /proc entries!\n");
--
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c:#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29))
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c- entry->owner = THIS_MODULE;
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif /* below 2.6.29 */
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#endif
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-}
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-
NVIDIA-Linux-x86_64-185.13-pkg2/usr/src/nv/nv.c-#ifdef CONFIG_PROC_FS

cdrw 04-06-09 01:43 PM

Re: Unable to compile for kernel 2.6.29
 
problem is caused by the changes to the latest -git. Reference to "owner" was removed
solution was posted here already at Nvidia forum:
extract nvidia
edit
NVIDIA-Linux-x86-18x.xx-pkg1/usr/src/nv/nv.c

comment out all the lines that will refer to owner. e.g.:
/*entry->owner = THIS_MODULE;*/
then run
nvidia-installer -N -s
from
NVIDIA-Linux-x86-18x.xx-pkg1/
this works with all previous and current kernels (which have this problem, this will not resolve anything else)

gavron 04-07-09 01:55 PM

Re: Unable to compile for kernel 2.6.29
 
1 Attachment(s)
The attached file will patch 185.19 to successfully build under 2.6.29git10,git12, etc.

1.cd to where you have the NVIDIA installer
2. save the patch file there
3. ./NVIDIA-Linux-x86_64-185.19-pkg2.run --apply-patch patch-185.19-2.6.29git10.txt
4. ./NVIDIA-Linux-x86_64-185.19-pkg2-custom.run

Ehud

gavron 04-10-09 12:16 PM

Re: Unable to compile for kernel 2.6.29
 
The same patch (above) will also allow the Nvidia driver to work on linux kernel 2.6.30-rc1. I've been using it for a day and a half since it came out with no issues.

Ehud

kernelOfTruth 04-10-09 12:19 PM

Re: Unable to compile for kernel 2.6.29
 
*subscribes*

this patch also works for 180.29 or 180.41 / 180.44 ?

thanks !

gavron 04-11-09 09:49 PM

Re: Unable to compile for kernel 2.6.29
 
Quote:

Originally Posted by kernelOfTruth (Post 1980259)
*subscribes*

this patch also works for 180.29 or 180.41 / 180.44 ?

thanks !

The concept does, the exact patch does not.
You can always ./NVIDIA-whatever.run -x to extract,
then go edit the source file...

Then ./NVIDIA-whatever/nvidia-installer

E


All times are GMT -5. The time now is 03:30 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.