Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 296272 - x11-drivers/nvidia-drivers-190.42-r3 fails to compile on ACPI_CA_VERSION >= 0x20091112
Summary: x11-drivers/nvidia-drivers-190.42-r3 fails to compile on ACPI_CA_VERSION >= 0...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-09 02:50 UTC by Michael Weber (RETIRED)
Modified: 2010-07-10 07:19 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,17.65 KB, text/plain)
2009-12-09 02:52 UTC, Michael Weber (RETIRED)
Details
patch for different ACPI_CA_VERSION (nvidia-drivers-190.42-r4-acpi_walk_namespace.patch,618 bytes, text/plain)
2009-12-14 01:58 UTC, Michael Weber (RETIRED)
Details
corresponding ebuild (nvidia-drivers-190.42-r4.ebuild,15.05 KB, text/plain)
2009-12-14 02:00 UTC, Michael Weber (RETIRED)
Details
Patch the nvidia script to find the autoconf.h to detect kernel version (autoconf-location.patch,1.64 KB, patch)
2009-12-22 11:35 UTC, Robert J. King
Details | Diff
Patch for the ebuild to use the autoconf-location.patch (ebuild.patch,601 bytes, patch)
2009-12-22 11:35 UTC, Robert J. King
Details | Diff
212945: patch for different ACPI_CA_VERSION (nvidia-drivers-190.42-acpi_walk_namespace.patch,618 bytes, patch)
2010-02-25 16:58 UTC, Michael Weber (RETIRED)
Details | Diff
the linux/autoconf.h -> generated/autoconf.h patch (nvidia-drivers-190.42-linux_generated.patch,1.52 KB, patch)
2010-02-25 16:59 UTC, Michael Weber (RETIRED)
Details | Diff
the ebuild with location and acpi patch (nvidia-drivers-190.42-r4.ebuild,15.20 KB, text/plain)
2010-02-25 16:59 UTC, Michael Weber (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Weber (RETIRED) gentoo-dev 2009-12-09 02:50:36 UTC
The function acpi_walk_namespace in include/acpi/acpixf.h of the current linux-next-20091208 from [1] has changed it's parameters, thus x11-drivers/nvidia-drivers-190.42-r3 fails to compile. 

The works-for-me solution is

pandora ~ # diff -ru /var/tmp/portage/x11-drivers/nvidia-drivers-190.42-r3/work/NVIDIA-Linux-x86_64-190.42-pkg2/usr/src/nv/nvacpi.c.orig /var/tmp/portage/x11-drivers/nvidia-drivers-190.42-r3/work/NVIDIA-Linux-x86_64-190.42-pkg2/usr/src/nv/nvacpi.c
--- /var/tmp/portage/x11-drivers/nvidia-drivers-190.42-r3/work/NVIDIA-Linux-x86_64-190.42-pkg2/usr/src/nv/nvacpi.c.orig    2009-12-09 03:37:18.000000000 +0100
+++ /var/tmp/portage/x11-drivers/nvidia-drivers-190.42-r3/work/NVIDIA-Linux-x86_64-190.42-pkg2/usr/src/nv/nvacpi.c2009-12-09 03:18:25.000000000 +0100
@@ -508,7 +508,7 @@
     *handlesPresent = 0;

     acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
-                        ACPI_UINT32_MAX, nv_acpi_find_methods, NULL, NULL);
+                        ACPI_UINT32_MAX, nv_acpi_find_methods, NULL, NULL, NULL);

     if (nvif_handle)
     {

after solving http://bugs.gentoo.org/show_bug.cgi?id=287807#c14.
This isn't really an actual bug, merly an upcoming problem.

   Michael Weber

[1] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=summary



Reproducible: Always




Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.4.2, glibc-2.11-r1, 2.6.32-next-20091208-pandora.0 x86_64)
=================================================================
System uname: Linux-2.6.32-next-20091208-pandora.0-x86_64-AMD_Phenom-tm-_II_X4_920_Processor-with-gentoo-2.0.1
Timestamp of tree: Tue, 08 Dec 2009 17:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -mfpmath=sse -mieee-fp -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /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/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=amdfam10 -mfpmath=sse -mieee-fp -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs 4"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://nash.fs.lmu.de/gentoo/"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de en"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--ipv6"
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 /usr/local/portage/layman/gnome /usr/local/portage/layman/sunrise /usr/local/portage/layman/xmw /usr/local/portage/layman/x11 /usr/local/portage/layman/scarabeus"
SYNC="rsync://nash.fs.lmu.de/gentoo-portage/"
USE="3dnow X a52 aac aalib acl acpi alsa amd64 ao apache2 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cdparanoia cdr cgi cli consolekit cracklib crypt ctype cups cxx dbus dga directfb djvu dri dts dv dvb dvd dvdr dvdread encode exif faac faad fbcon ffmpeg fftw flac fontconfig fortran gdbm gif gimp glut gnome gnome-keyring gnutls gphoto2 gpm gs gstreamer gtk hal iconv id3tag ieee1394 imagemagick introspection ipod ipv6 java java6 jbig joystick jpeg jpeg2k lame latex lcms libnotify libsamplerate lm_sensors lzma lzo mad mikmod mmap mmx mng modules mp3 mpeg mpi mplayer mudflap multilib mysql nas nautilus ncurses nls nptl nptlonly nsplugin ogg openal openexr opengl openmp pam pch pcre pdf perl png policykit postgres pppd python qt3 qt4 quicktime raw readline reflection rle samba sdl session smp speex spell spl sqlite sse sse2 ssl subversion svg symlink sysfs syslog taglib tcl tcpd theora threads tiff tk truetype unicode usb vhosts vim-syntax vorbis wavpack webkit x264 xcb xine xinerama xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="intel-hda" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Michael Weber (RETIRED) gentoo-dev 2009-12-09 02:52:54 UTC
Created attachment 212506 [details]
build.log
Comment 2 Michael Weber (RETIRED) gentoo-dev 2009-12-14 01:58:26 UTC
Created attachment 212945 [details]
patch for different ACPI_CA_VERSION

They changed with the Interface with version 0x20091112, see http://www.acpica.org/bugzilla/show_bug.cgi?id=779 for details.

gentoos git-sources-2.6.32-r10 (linux-2.6.32-git10) and linux-next-20091204 and above have these version, gentoo-sources-2.6.32 (linux-2.6.32-gentoo) does not.
Comment 3 Michael Weber (RETIRED) gentoo-dev 2009-12-14 02:00:23 UTC
Created attachment 212946 [details]
corresponding ebuild

visit http://svn.xmw.de/gentoo-overlay/ for eazy access ... thx
Comment 4 Michael Weber (RETIRED) gentoo-dev 2009-12-15 09:03:13 UTC
nvidia-drivers-190.53 (http://bugs.gentoo.org/show_bug.cgi?id=296947) is affected and fixed - by this patch, too.


Comment 5 Michael Weber (RETIRED) gentoo-dev 2009-12-15 09:44:25 UTC
nvidia-drivers-195.22 with renamed nvidia-drivers-190.42-r3.ebuild is fixed with this, too.
But there's another problem inside src_compile to determine the kernel version. 
workaround
ebuild ... manifest clean compile
cd /var/tmp/portage/x11-drivers/nvidia-drivers-195.22/work/NVIDIA-Linux-x86_64-195.22-pkg2/usr/src/nv
make -j8 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux HOST_CC=x86_64-pc-linux-gnu-gcc clean module
as linux-mod_src_compile does, must be some difference in the environments,
have tried but not enough time to fix it.

greetings.


Comment 6 Robert J. King 2009-12-22 11:35:11 UTC
Created attachment 213737 [details, diff]
Patch the nvidia script to find the autoconf.h to detect kernel version

The location of autoconf.h changed from linux/autoconf.h to generated/autoconf.h in commit: 264a26838056fc2d759f58bec2e720e01fcb1bdb .

This is why the version isn't detected correctly with the script nvidia uses for kernels after that version.

Patch for the script and a patch for the nvidia-drivers-190.42-r4.ebuild attached.
Comment 7 Robert J. King 2009-12-22 11:35:44 UTC
Created attachment 213739 [details, diff]
Patch for the ebuild to use the autoconf-location.patch
Comment 8 Michael Weber (RETIRED) gentoo-dev 2009-12-22 11:49:53 UTC
(In reply to comment #6)
> The location of autoconf.h changed from linux/autoconf.h to
> generated/autoconf.h in commit: 264a26838056fc2d759f58bec2e720e01fcb1bdb .

Ok, I think it would be worth to handle both possible file location. Otherwise it would not build wit <2.6.32 and gentoo-sources-2.6.32. I'm in a hurry, but I will look for it later.
Comment 9 Michael Weber (RETIRED) gentoo-dev 2009-12-22 11:53:15 UTC
(In reply to comment #7)
> Created an attachment (id=213739) [details]
> Patch for the ebuild to use the autoconf-location.patch

SOrry for the two posts, but this affects git-sources-2.6.32-git15 as well.
Comment 10 Robert J. King 2009-12-22 12:23:56 UTC
The patch checks the kernel version being built against to make sure it is >= 2.6.33 before it applies the autoconf-location.patch.  If that is what you mean.
Comment 11 Doug Goldstein (RETIRED) gentoo-dev 2009-12-23 05:34:44 UTC
Once again, forever and always, unreleased kernel versions are NOT supported by NVIDIA nor by the Gentoo team.

NVIDIA is aware of the change and will be releasing a new version to work with 2.6.33 series.

This will not be fixed in the tree until 2.6.33 is out.
Comment 12 Michael Weber (RETIRED) gentoo-dev 2010-02-25 16:18:35 UTC
(In reply to comment #11)
> This will not be fixed in the tree until 2.6.33 is out.

gentoo-sources-2.6.33 is out now and x11-drivers/nvidia-drivers-190.42-r3 from tree does not compile against ist.

Comment 13 Michael Weber (RETIRED) gentoo-dev 2010-02-25 16:58:08 UTC
Created attachment 221161 [details, diff]
212945: patch for different ACPI_CA_VERSION

removed revision from filename
Comment 14 Michael Weber (RETIRED) gentoo-dev 2010-02-25 16:59:01 UTC
Created attachment 221163 [details, diff]
the linux/autoconf.h -> generated/autoconf.h patch
Comment 15 Michael Weber (RETIRED) gentoo-dev 2010-02-25 16:59:49 UTC
Created attachment 221165 [details]
the ebuild with location and acpi patch
Comment 16 Doug Goldstein (RETIRED) gentoo-dev 2010-07-10 07:19:22 UTC
Newer drivers are now out and in the tree and support this kernel and newer.