I tried to compile nvidia-drivers with new kernel, but it's failed. I've googled this problem http://forums.fedoraforum.org/showthread.php?p=1220583 This patch fixes that problem: http://leigh123linux.fedorapeople.org/pub/patches/nvidia-96.43.11.patch Reproducible: Always Steps to Reproduce: 1. Create vanilla-sources-2.6.30.ebuild in the local overlay and unmask it 2. USE=symlink emerge =vanilla-sources-2.6.30 && emerge =nvidia-drivers-96.43.11 sbar@desktop ~ $ emerge --info Portage 2.2_rc33 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r1, 2.6.30 i686) ================================================================= System uname: Linux-2.6.30-i686-Intel-R-_Pentium-R-_4_CPU_2.00GHz-with-glibc2.0 Timestamp of tree: Wed, 10 Jun 2009 09:40:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.7 dev-lang/python: 2.5.4-r2 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r2 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CPPFLAGS="" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://ftp.chg.ru/pub/Linux/distributions/gentoo/ http://mirror.yandex.ru/gentoo-distfiles/distfiles/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.sh.cvut.cz/MIRRORS/gentoo/distfiles ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/arcon /usr/local/portage/layman/mpd /usr/local/portage/layman/rostov /usr/local/portage/layman/sunrise /usr/local/portage/layman/java-overlay /var/overlays/mine" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa ao apache2 bindist bittorrent bzip2 cairo cdr chm cli cracklib crypt cups dbus dirac divx djvu dri dvd dvdr dvdread enca encode exif expat fakevim fam fbcon ffmpeg flac fontconfig fortran gdbm gif gimp gnutls gpm graphviz gstreamer gtk gtk2 hal hddtemp iconv id3tag isdnlog jabber jbig jpeg jpeg2k lame libcaca libnotify live logrotate mad midi mmx mmxext mng mp2 mp3 mpeg mudflap ncurses network nls nptl nptlonly ogg openexr opengl openmp pam pcre perl png posix postscript ppds pppd prediction python qt4 quicktime readline reflection schroedinger sdl session socks5 spell spl sse sse2 ssl svg sysfs tagwriting tcpd theora tiff truetype unicode utf8 v4l vorbis webkit win32codecs wma wmf wmp wmv wxwindows x86 xml xorg xprint xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse ps2mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia nv fbdev vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS sbar@desktop ~ $ cat /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/temp/build.log * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.30/build * Found sources for kernel version: * 2.6.30 * Checking for MTRR support ... [ ok ] >>> Unpacking source... >>> Unpacking NVIDIA-Linux-x86-96.43.11-pkg0.run to /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0 * Applying NVIDIA_glx-defines.patch ... [ ok ] * Applying NVIDIA_glx-glheader.patch ... [ ok ] * Applying NVIDIA_i2c-hwmon.patch ... [ ok ] * Converting NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ] >>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work >>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work ... /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/temp/environment: line 2774: cd: /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/nvidia-drivers-96.43.11: No such file or directory ln: creating symbolic link `Module.symvers': File exists * Preparing nvidia module make HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/2.6.30/build HOST_CC=i686-pc-linux-gnu-gcc clean module NVIDIA: calling KBUILD... make CC=cc KBUILD_OUTPUT=/lib/modules/2.6.30/build KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv modules make -C /lib/modules/2.6.30/build \ KBUILD_SRC=/usr/src/linux-2.6.30 \ KBUILD_EXTMOD="/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv" -f /usr/src/linux-2.6.30/Makefile \ modules test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \ echo; \ echo " ERROR: Kernel configuration is invalid."; \ echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \ echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo; \ /bin/false) mkdir -p /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/.tmp_versions ; rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/.tmp_versions/* make -f /usr/src/linux-2.6.30/scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv cc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include -Iinclude -Iinclude2 -I/usr/src/linux-2.6.30/include -I/usr/src/linux-2.6.30/arch/x86/include -include include/linux/autoconf.h -I/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -Wa,-mtune=generic32 -ffreestanding -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 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fwrapv -I/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"96.43.11\" -UDEBUG -U_DEBUG -DNDEBUG -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c: In function ‘nvos_proc_create’: /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:502: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:503: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:504: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:524: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:537: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:548: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:558: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:568: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:579: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:586: error: ‘struct proc_dir_entry’ has no member named ‘owner’ /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c: In function ‘nvos_proc_add_warning_file’: /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.c:613: error: ‘struct proc_dir_entry’ has no member named ‘owner’ make[4]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv/nv.o] Error 1 make[3]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/work/NVIDIA-Linux-x86-96.43.11-pkg0/usr/src/nv] Error 2 make[2]: *** [sub-make] Error 2 NVIDIA: left KBUILD. nvidia.ko failed to build! make[1]: *** [module] Error 1 make: *** [module] Error 2 * * ERROR: x11-drivers/nvidia-drivers-96.43.11 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3764: Called linux-mod_src_compile * environment, line 2793: Called die * The specific snippet of code: * eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CROSS_COMPILE=${CHOST}- LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/2.6.30/build HOST_CC=i686-pc-linux-gnu-gcc clean module * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.11/temp/environment'. * sbar@desktop ~ $
nvidia-dirvers-180.29 also fails to build on gentoo-sources-2.6.30 (amd64) with what looks like the same code errors.
nvidia-drivers-180.60 builds on gentoo-sources-2.6.30, so a workaround might also apply to vanilla sources (not tested): try more recent drivers.
http://leigh123linux.fedorapeople.org/pub/patches/nvidia-96.43.11.patch
(In reply to comment #2) > try more recent drivers. Acceptable only for recent cards.
Created attachment 194304 [details, diff] In 2.6.30 struct proc_dir_entry do not contains member owner
*** Bug 273802 has been marked as a duplicate of this bug. ***
The same error for 180.29
The patch looks quite clean and appropriate and on top of that it does the job.
well, and when this patch will be added to the drivers?
Created attachment 194865 [details] ebuild for nvidia-drivers-173.14.18 with 2.6.30 patch added nvidia-drivers-173.14.18 ebuild with single epatch line added.
Created attachment 194866 [details, diff] nvidia-drivers 173.14.18 patch to allow compile on linux kernel 2.6.30 Patch to allow nvidia-drivers 173.14.18 to build on linux kernel 2.6.30 taken from http://www.nvnews.net/vbulletin/showthread.php?t=134461 .
Created attachment 195118 [details] Allows this to work with xorg-server-1.6.x Modifcation made: 'COMMON="<x11-base/xorg-server-1.5.3' becomes 'COMMON=">=x11-base/xorg-server-1.5.3'. This will allow the ebuild to compile with xorg-server-1.6.x. See bug #274464 for further details. Oh, and thanks for the fix. It works on my machine.
I wanted to report success: I'm using nvidia-drivers-173.14.18-r2.ebuild / NVIDIA_173.14.18-2.6.30.patch on gentoo-sources-2.6.30-r1 with xorg 1.6, and it's working great.
*** Bug 274749 has been marked as a duplicate of this bug. ***
Created attachment 195557 [details, diff] Patch for linux nvidia driver 96.43.11 enabling compilation on 2.6.30 Copy of http://leigh123linux.fedorapeople.org/pub/patches/nvidia-96.43.11.patch
Created attachment 195558 [details, diff] Ebuild enabling 96.43.11 on Linux 2.6.30 Patch against x11-drivers/nvidia-driver-96.43.11.ebuild. Requires attachment #195557 [details, diff]. This one works on x86 (i686-pc-linux-gnu, -march=athlon-tbird) with gentoo-sources-2.6.30-r1 fine.
For the 96 series, this is fixed in nvidia-drivers-96.43.13, which is in the tree now.
For the 173.x.y series, please use 173.14.20 or newer.
*** Bug 283043 has been marked as a duplicate of this bug. ***
x11-drivers/nvidia-drivers-96.43.13 stable for x86