Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 04-05-09, 04:59 PM   #1
hasfill
Registered User
 
Join Date: Apr 2009
Posts: 5
Default 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?
hasfill is offline   Reply With Quote
Old 04-05-09, 05:33 PM   #2
ledoc
Registered User
 
Join Date: Jan 2008
Posts: 330
Default 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.
ledoc is offline   Reply With Quote
Old 04-05-09, 10:12 PM   #3
gavron
Registered User
 
Join Date: Apr 2008
Posts: 49
Default Re: Unable to compile for kernel 2.6.29

Quote:
Originally Posted by ledoc View Post
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
gavron is offline   Reply With Quote
Old 04-06-09, 12:43 PM   #4
cdrw
Registered User
 
Join Date: Mar 2006
Posts: 59
Default 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)
cdrw is offline   Reply With Quote
Old 04-07-09, 12:55 PM   #5
gavron
Registered User
 
Join Date: Apr 2008
Posts: 49
Default Re: Unable to compile for kernel 2.6.29

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
Attached Files
File Type: txt patch-185.19-2.6.29git10.txt (2.6 KB, 451 views)
gavron is offline   Reply With Quote
Old 04-10-09, 11:16 AM   #6
gavron
Registered User
 
Join Date: Apr 2008
Posts: 49
Default 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
gavron is offline   Reply With Quote
Old 04-10-09, 11:19 AM   #7
kernelOfTruth
Gentoo Linux addict
 
Join Date: Nov 2007
Location: Vienna, Austria; Germany; hello world :)
Posts: 202
Default Re: Unable to compile for kernel 2.6.29

*subscribes*

this patch also works for 180.29 or 180.41 / 180.44 ?

thanks !
__________________
2.6.30-rc3-zen0+ w. compcache, reiser4 + ccreg40 (lzo-compression + checksumming)
gcc version 4.4.0-pre9999 built 20090425 (prerelease) rev. 146764 (Gentoo SVN)
gcc version 4.4.0 (Gentoo Hardened 4.4.0-r1, espf-0.2.1)
Ubuntu Jaunty/9.04 x86_64 Dell XPS M1330
kernelOfTruth is offline   Reply With Quote
Old 04-11-09, 08:49 PM   #8
gavron
Registered User
 
Join Date: Apr 2008
Posts: 49
Default Re: Unable to compile for kernel 2.6.29

Quote:
Originally Posted by kernelOfTruth View Post
*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
gavron is offline   Reply With Quote

Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Nvidia drivers won't compile with Slackware 8.0 z28Power NVIDIA Linux 6 09-18-02 06:20 PM

All times are GMT -5. The time now is 12:21 PM.


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