Kernel 2.6.23 (and possibly beyond) changed kmem_cache_create() to take 5 args instead of 6, removed the typedef for kmem_cache_t, and removed the return value for unregister_chrdev. These cahnges cause nvidia-drivers to fail to compile. This was fixed upstream for later versions of the nvidia-drivers. I don't think upstream will fix it for nvidia-drivers-1.0.7185 (which is the latest supported by my video card). Attached is a patch that will allow nvidia-drivers-1.0.7185 to build under 2.6.23. These changes are incompatible with 2.6.22 and earlier. Could an ebuild wizard change the ebuild so that if the kernel version is 2.6.23 or greater this patch gets applied? Reproducible: Always Steps to Reproduce: 1. Attempt to emerge nvidia-drivers-1.0.7185.ebuild with linux kernel 2.6.23 Actual Results: Compiler errors. Expected Results: Shiny new nvidia module. Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-4.2.2, glibc-2.7-r0, 2.6.22-gentoo-r8 i686) ================================================================= System uname: 2.6.22-gentoo-r8 i686 AMD Athlon(tm) 64 Processor 3000+ Timestamp of tree: Tue, 20 Nov 2007 17:17:01 +0000 app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.2-r1 dev-lang/python: 2.5.1-r4 dev-python/pycrypto: 2.0.1-r6 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.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-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon -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/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org/" MAKEOPTS="-j2" 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" SYNC="rsync://www.lanfear.net/gentoo-portage" USE="X Xaw3d a52 aac aalib acl acpi alsa asf bash-completion berkdb bitmap-fonts bzip2 cairo cdda cddb cdio cdparanoia cdr cli cracklib crypt cups curl dbus dga divx4linux dpms dri dts dv dvb dvd dvdr dvdread dynagraph edl eds emacs emboss encode ethereal evo exif extensions faac faad fam fame ffmpeg fftw firefox flac fltk font-server fontconfig fpx freetype gdbm gif glibc-omitfp gnutls graphviz gs gstreamer gtk gtkhtml hal iconv idea imagemagick isdnlog jbig jikes jpeg jpeg2k lcms ldap libcaca libsamplerate live lm_sensors logrotate lzo mad mailwrapper matroska mbox midi mikmod milter mjpeg mmx mng mozdevelop moznocompose moznoirc moznomail mozsvg mp3 mpeg mudflap musepack musicbrainz ncurses netboot nethack network nls nomotif nptl nptlonly nvidia offensive ogg openal openexr opengl openmp oss pam pam_chroot pam_timestamp pcre pdf perl perlsuid pic png ppds pppd python qt3 qt3support qt4 quicktime readline real reflection rtc ruby sblive screen sdl sensord session skins slp smime sndfile speex spell spl sse ssl stream svg tagwriting tcltk tcpd tga theora tiff transcode truetype truetype-fonts type1-fonts unicode usb userlocales vcd vidix visualization vorbis vorbis-psy win32codecs wmf wxwindows x86 xanim xine xml xorg xosd xpm xprint xv xvid yv12 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv vesa fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 136627 [details, diff] allow 1.0-7185 to compile against linux 2.6.23
71.86.01 compiles just fine, use it.
Thanks, you rock.