Helo, The nvidia driver ebuild fails on my gentoo notebook giving me the following errors: * NVIDIA-Linux-x86-169.09-pkg0.run RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking NVIDIA-Linux-x86-169.09-pkg0.run ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.23-gentoo-r6 * Checking for MTRR support ... [ ok ] >>> Unpacking source... Creating directory NVIDIA-Linux-x86-169.09-pkg0 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 169.09................................................................................................................................... * Applying NVIDIA_glx-defines.patch ... [ ok ] * Applying NVIDIA_glx-glheader.patch ... [ ok ] * Applying NVIDIA_i2c-hwmon.patch ... [ ok ] * Converting NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0 ... * Preparing nvidia module NVIDIA: calling KBUILD... make CC=i686-pc-linux-gnu-gcc KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv modules make[2]: Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. »+« zur Ursprungsregel hinzufügen. 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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions/* make -f scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=i686 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"169.09\" -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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c In Datei, eingefügt von /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:14: /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:572:2: Fehler: #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!" /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:862:2: Fehler: #error "NV_REMAP_PAGE_RANGE() undefined!" ---snip--- in conftest.h there is defined: #undef NV_KMEM_CACHE_CREATE_PRESENT This is defined from conftest.sh: echo "#include <linux/autoconf.h> #include <linux/slab.h> void conftest_kmem_cache_create(void) { kmem_cache_create(); }" > conftest$$.c $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 rm -f conftest$$.c if [ -f conftest$$.o ]; then rm -f conftest$$.o echo "#undef NV_KMEM_CACHE_CREATE_PRESENT" >> conftest.h return fi So it seems to test if kmem_cache_create works without a parameter. If it does it won't compile. The fun of it is: If i try to compile this created file by Hand it will fail: "test.c:4: Fehler: Zu wenige Argumente für Funktion »kmem_cache_create«" (too few arguments). That seems to be a little bit odd. # emerge --info Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r8 i686) ================================================================= System uname: 2.6.22-gentoo-r8 i686 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz Timestamp of tree: Fri, 25 Jan 2008 01:16:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=nocona -mtune=nocona -pipe" 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/share/config /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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" CXXFLAGS="-O2 -march=nocona -mtune=nocona -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ " LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LINGUAS="de en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac accessibility acl acpi alsa arts bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo cddb cdparanoia cdr clamav cli cpudetection cracklib crypt cups cvs dbus dri dvd dvdr dvdread dvdrgtk eds emboss encode esd evo fam firefox fortran gcj gdbm gif gpm gstreamer gtk hal hddtemp iconv ipod ipv6 isdnlog java jpeg kde kerberos ldap mad midi mikmod mmx mmxext mp3 mpeg mudflap musicbrainz ncurses nls nptl nptlonly nsplugin ogg opengl openmp oss pam pcre pdf perl php png pppd python qt qt3 qt3support qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl ssse3 svg tcpd tiff truetype truetype-fonts type1-fonts unicode visualization vorbis win32codecs x86 xml xorg xv zlib" ALSA_CARDS="snd-hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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 touchpad" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="nv nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Compiles perfectly fine here; attach a *full* emerge log with locales set to C (not German).
I'm sorry for the wrong locale: Here is the complete emerge log * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.23-gentoo-r6 * Checking for MTRR support ... [ ok ] >>> Unpacking source... Creating directory NVIDIA-Linux-x86-169.09-pkg0 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 169.09................................................................................................................................... * Applying NVIDIA_glx-defines.patch ... [ ok ] * Applying NVIDIA_glx-glheader.patch ... [ ok ] * Applying NVIDIA_i2c-hwmon.patch ... [ ok ] * Converting NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0 ... * Preparing nvidia module NVIDIA: calling KBUILD... make CC=i686-pc-linux-gnu-gcc KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv modules make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. 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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions/* make -f scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=i686 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"169.09\" -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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:14: /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:572:2: error: #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!" /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:862:2: error: #error "NV_REMAP_PAGE_RANGE() undefined!" /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvos_get_agp_device_by_class': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:555: error: implicit declaration of function 'pci_find_class' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:555: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:560: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:481) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:569: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_get_pci_device': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:579: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:480) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:584: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:480) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvidia_init_module': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1327: error: implicit declaration of function 'NV_KMEM_CACHE_CREATE' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1327: error: expected expression before 'nv_stack_t' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1337: error: implicit declaration of function 'NV_KMEM_CACHE_DESTROY' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1436: error: expected expression before 'nv_pte_t' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_kern_mmap': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:2332: error: implicit declaration of function 'NV_REMAP_PAGE_RANGE' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3976:6: warning: "NV_AGP_BACKEND_ACQUIRE_ARGUMENT_COUNT" is not defined /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_agp_init': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3993: error: too few arguments to function 'agp_backend_acquire' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3995: error: too few arguments to function 'agp_backend_release' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvos_count_devices': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4115: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4121: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4124: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4130: warning: assignment makes pointer from integer without a cast make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.o] Error 1 make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv] Error 2 NVIDIA: left KBUILD. nvidia.ko failed to build! make[1]: *** [module] Error 1 make: *** [module] Error 2 * * ERROR: x11-drivers/nvidia-drivers-169.09 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * nvidia-drivers-169.09.ebuild, line 210: Called linux-mod_src_compile * linux-mod.eclass, line 519: Called die * The specific snippet of code: * emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \ * ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \ * || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}." * The die message: * Unable to make IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux 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-169.09/temp/build.log'. *
Sorry, the last one was truncated :( >>> Emerging (1 of 1) x11-drivers/nvidia-drivers-169.09 to / * NVIDIA-Linux-x86-169.09-pkg0.run RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking NVIDIA-Linux-x86-169.09-pkg0.run ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.23-gentoo-r6 * Checking for MTRR support ... [ ok ] >>> Unpacking source... Creating directory NVIDIA-Linux-x86-169.09-pkg0 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 169.09................................................................................................................................... * Applying NVIDIA_glx-defines.patch ... [ ok ] * Applying NVIDIA_glx-glheader.patch ... [ ok ] * Applying NVIDIA_i2c-hwmon.patch ... [ ok ] * Converting NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0 ... * Preparing nvidia module NVIDIA: calling KBUILD... make CC=i686-pc-linux-gnu-gcc KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv modules make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. 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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.tmp_versions/* make -f scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=i686 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"169.09\" -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-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:14: /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:572:2: error: #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!" /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv-linux.h:862:2: error: #error "NV_REMAP_PAGE_RANGE() undefined!" /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvos_get_agp_device_by_class': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:555: error: implicit declaration of function 'pci_find_class' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:555: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:560: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:481) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:569: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_get_pci_device': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:579: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:480) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:584: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:480) /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvidia_init_module': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1327: error: implicit declaration of function 'NV_KMEM_CACHE_CREATE' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1327: error: expected expression before 'nv_stack_t' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1337: error: implicit declaration of function 'NV_KMEM_CACHE_DESTROY' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:1436: error: expected expression before 'nv_pte_t' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_kern_mmap': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:2332: error: implicit declaration of function 'NV_REMAP_PAGE_RANGE' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3976:6: warning: "NV_AGP_BACKEND_ACQUIRE_ARGUMENT_COUNT" is not defined /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nv_agp_init': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3993: error: too few arguments to function 'agp_backend_acquire' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:3995: error: too few arguments to function 'agp_backend_release' /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c: In function 'nvos_count_devices': /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4115: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4121: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4124: warning: assignment makes pointer from integer without a cast /var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.c:4130: warning: assignment makes pointer from integer without a cast make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv/nv.o] Error 1 make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86-169.09-pkg0/usr/src/nv] Error 2 NVIDIA: left KBUILD. nvidia.ko failed to build! make[1]: *** [module] Error 1 make: *** [module] Error 2 * * ERROR: x11-drivers/nvidia-drivers-169.09 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * nvidia-drivers-169.09.ebuild, line 210: Called linux-mod_src_compile * linux-mod.eclass, line 519: Called die * The specific snippet of code: * emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \ * ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \ * || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}." * The die message: * Unable to make IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux 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-169.09/temp/build.log'. *
Your compile claims that kmem_cache_create() does not exist. head -n 54 /usr/src/linux-2.6.23-gentoo-r6/include/linux/slab.h | tail -n 3 I just built nvidia-drivers against gentoo-sources-2.6.23-r6 successfully and according to Jakub in comment #1 he did too.
Sorry. didn't complete a thought there.. Your compile claims that kmem_cache_create() does not exist. Let's make sure it does. Paste the output of the following command? head -n 54 /usr/src/linux-2.6.23-gentoo-r6/include/linux/slab.h | tail -n 3
# head -n 54 /usr/src/linux-2.6.23-gentoo-r6/include/linux/slab.h | tail -n 3 struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, unsigned long, void (*)(void *, struct kmem_cache *, unsigned long)); it's there and i still don't know, why the nvidia build script fails... # ls -l /usr/src/linux lrwxrwxrwx 1 root root 22 Jan 25 13:36 /usr/src/linux -> linux-2.6.23-gentoo-r6
grep -r 'CONFIG_VIRTUALIZATION' /usr/src/linux-2.6.23-gentoo-r6/.config One last thing to check.
Hi, I have exactly the same problem on my AMD 64 gentoo box! It is therefore not x86 specific. >head -n 54 /usr/src/linux-2.6.23-gentoo-r6/include/linux/slab.h | tail -n 3 struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, unsigned long, void (*)(void *, struct kmem_cache *, unsigned long)); >grep -r 'CONFIG_VIRTUALIZATION' /usr/src/linux-2.6.23-gentoo-r6/.config CONFIG_VIRTUALIZATION=y
try building a kernel with that off and report back if that fixed the issue.
sorry, this doesn't solve the problem - still the same kmemcache error. >grep -r 'CONFIG_VIRTUALIZATION' /usr/src/linux-2.6.23-gentoo-r6/.config # CONFIG_VIRTUALIZATION is not set
I have the same issue here. Setting CONFIG_VIRTUALIZATION=n didn't help either. Tried 2.6.23-gentoo-r6 with nvidia-drivers-96.43.01, 100.14.09, 100.14.11, 100.14.19, 100.14.23 and 169.09.
I also get this, on two different machines (both amd64). Weirdly, it is intermittent. The build usually fails, but it can give several different error messages. Occasionally it succeeds. When it does the driver seems fine. I've seen this for some time now, with all 2.6.23 and now 2.6.24. Also several different versions of the driver, including 100.14.19 and 169.09.
- same for 2.6.24-gentoo, stock 2.6.24-rc8, stock 2.6.24 kernel. - my last successful nvidia build was with a stock 2.6.24-rc7 kernel and nvidia-driver version 100.14.19. perhaps someone could attach an amd64 .config that works in his environment...
After the ebuild fails I can go to to the working directory .../usr/src/nv/ and do $ make module manually, everything compiles as expected, and as I see from conftest.h all the test are now successful. I can insmod the resulting module without a problem. Seems like the ebuild's environment is different somehow. During the ebuild all the conftest programs seem to fail due to missing kernel headers. Looks like it's not using the right headers then, couldn't figure out why though.
It works here to, if i start the build manually. I'm not running under the Kernel for which i set the symlink, so i have to use: SYSSRC='/usr/src/linux' make module install and in conftest.h the values will be ok: #define NV_KMEM_CACHE_CREATE_PRESENT #define NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT 5
Created attachment 142019 [details] gentoo-sources-2.6.23-gentoo-r6 functioning config This is my gentoo-sources-2.6.23-r6 .config that works perfectly fine with the latest nvidia-drivers ebuild.
(In reply to comment #13) > - same for 2.6.24-gentoo, stock 2.6.24-rc8, stock 2.6.24 kernel. > - my last successful nvidia build was with a stock 2.6.24-rc7 kernel and > nvidia-driver version 100.14.19. > > perhaps someone could attach an amd64 .config that works in his environment... > Attached.
since it seems to be a strange emerge problem I thought I should give paludis a try. and surprisingly paludis was able to build and install the nvidia-drivers for gentoo-sources-2.6.24 but fails for gentoo-sources-2.6.23-r6 too.
hmmm, today i tried to build the nvidia drivers using the 2.6.24 gentoo sources (using the oldconfiguration from my 2.6.23 kernel, doing make oldconfig) and the driver fails there also. It seems like that this Problem is caused from the Kernelconfig AND the ebuild...
still works for me on my work machine and home machine on both gentoo-sources-2.6.23-r6 and gentoo-sources-2.6.24 I've posted my kernel config that works. I'd like to see some comparisons from people that can't get it to work.
Hi Doug, I sucessfully compiled a 2.6.23-gentoo-r6 kernel with your config without any changes. this works, but emerging the nvidia-drivers fails with the same error(kmem_cache_create) :-( also no luck with paludis
I fixed this by adding the options: Processor type and features ---> [*] IBM Calgary IOMMU support [*] Should Calgary be enabled by default? Hope this helps anyone.
(In reply to comment #22) I can confirm that this helps, as I had the same problem. A am now using vanilla-sources 2.6.24 with nvidia-drivers 169.09
no doesn't help - this option is always true in my configs.
It's still not working here. I've never seen the option "IBM Calgary IOMMU support" before, and as said before, I'm using 2.6.23-gentoo-r6
I had this same problem, and I think it's related to another bug concerning the use of ccache and emerging nvidia-drivers. After using FEATURES="-ccache" emerge nvidia-drivers , the package emerged without issue.
(In reply to comment #26) > I had this same problem, and I think it's related to another bug concerning the > use of ccache and emerging nvidia-drivers. > > After using FEATURES="-ccache" emerge nvidia-drivers , the package emerged > without issue. I can confirm this. Using ccache (as I normally do) the build fails more often than it succeeds. Without ccache running the build in a loop succeeds every time. Thanks!
I can also confirm this. With ccache disabled the ebuild builds perfectly. Thanks to all of you ;)
I get same problem on one of two x86 boxes, thing is that the problem is when I try to emerge the 100.14.23 driver, Thats the same erro message I get and the cccache thing doesnt help, strangely enough the 169 series driver does compile. Go figure.
Okay, I have it where they fail to compile on 2.6.24 with 100.14.23 drivers. Interestingly enough, the 169.09 drivers compile against both 2.6.23* kernels and 2.6.24 kernels. 100.14.23 compiles against 2.6.23. What I did to fix it from svens comment below emerge nvidia-drivers (must already have same version driver emerged against another kernel) when it fails do (ADJUST FOR YOUR DRIVER VERSION) cd /var/tmp/portage/x11-drivers/nvidia-drivers-100.14.23/work/NVIDIA-Linux-x86-100.14.23-pkg0/usr/src/nv and then SYSSRC='/usr/src/linux' make module install This will install the kernel module.
been meaning to stick into the ebuild inside pkg_setup() export CCACHE_DISABLE=1 to see if it helps. Want to give that a whirl and tell me if that fixes your issues? Realistically gcc-config needs to be ccache aware for Portage.
When you say stick it in please tell me exactly where, in fact please paste in where and how so that I may try it Doug. pkg_setup() { if use amd64 && has_multilib_profile && [ "${DEFAULT_ABI}" != "amd64" ]; then eerror "This ebuild doesn't currently support changing your default abi." die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" fi if ! use x86-fbsd; then linux-mod_pkg_setup MODULE_NAMES="nvidia(video:${S})" BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}" mtrr_check fi # Since Nvidia ships 3 different series of drivers, we need to give the user # some kind of guidance as to what version they should install. This tries # to point the user in the right direction but can't be perfect. check # nvidia-driver.eclass nvidia-driver-check-warning }
For me disabling ccache works as well. @Billy: Put the line at the top of pkg_setup. In fact, anywhere is fine (except inside an if/then/fi statement) since the variable gets exported and will then be used in pkg_compile.
Doug, Although I tried your suggestion with the export line in the ebuild, it changed nothing. What did solve the problem immediately was the upgrade to 2.6.24-r2 sources. After emerging the r2 gentoo-sources the problem automagically went away. I wonder what if anything in the sources could have been causing the problem.
@Billy: I can't confirm this. I installed 24-r2 but i still have to disable CCACHE using FEATURES. (otherwise the ebuild will fail)
i have the same problem on my amd64 with 2.6.25-rc1. FEATURES, CCACHE or SYSSRC='/usr/src/linux' make module install doesn't help. i don't find any solution on the web.
(In reply to comment #37) > i have the same problem on my amd64 with 2.6.25-rc1. FEATURES, CCACHE or > SYSSRC='/usr/src/linux' make module install doesn't help. i don't find any > solution on the web. > Thats a pretty early release candidate kernel. I wouldn't rely on it.
*** This bug has been marked as a duplicate of bug 137000 ***