Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267395 - x11-drivers/nvidia-drivers - conftest does not support non-PIC gcc
Summary: x11-drivers/nvidia-drivers - conftest does not support non-PIC gcc
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
: 268054 271659 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-04-25 06:24 UTC by Daniel E. Wilson
Modified: 2012-07-14 21:04 UTC (History)
10 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel E. Wilson 2009-04-25 06:24:30 UTC
No matter what kernel version I attempt to compile the nvidia-drivers for the build always fails.  

Reproducible: Always

Steps to Reproduce:
1. sudo emerge nvidia-drivers
Actual Results:  
Build fails.

minerva portage # emerge nvidia-drivers
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-180.29
 * NVIDIA-Linux-x86-180.29-pkg0.run RMD160 SHA1 SHA256 size ;-) ...      [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     2.6.28-gentoo-r5
 * Checking for MTRR support ...                                          [ ok ]
 * Checking for Paravirtualized guest support ...
>>> Unpacking source...
>>> Unpacking NVIDIA-Linux-x86-180.29-pkg0.run to /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86-180.29-pkg0
 * Applying NVIDIA_glx-defines.patch ...                                  [ ok ]
 * Applying NVIDIA_glx-glheader.patch ...                                 [ ok ]
 * Applying NVIDIA_i2c-hwmon.patch ...                                    [ ok ]
 * Converting NVIDIA-Linux-x86-180.29-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ...                                                   [ ok ]
>>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work
>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86-180.29-pkg0 ...
 * Preparing nvidia module
make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux HOST_CC=i686-pc-linux-gnu-gcc clean module
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1
 *
 * ERROR: x11-drivers/nvidia-drivers-180.29 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_compile
 *             environment, line 3752:  Called linux-mod_src_compile
 *             environment, line 2768:  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=/usr/src/linux 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-180.29/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/environment'.
 *

>>> Failed to emerge x11-drivers/nvidia-drivers-180.29, Log file:

>>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/build.log'

 * Messages for package x11-drivers/nvidia-drivers-180.29:

 *
 * ERROR: x11-drivers/nvidia-drivers-180.29 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_compile
 *             environment, line 3752:  Called linux-mod_src_compile
 *             environment, line 2768:  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=/usr/src/linux 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-180.29/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/environment'.
 *


Expected Results:  
I would expect the drivers to built.

minerva portage # emerge --info nvidia-drivers
Portage 2.1.6.11 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r7 i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.27-gentoo-r7-i686-AMD_Athlon-TM-_XP_1700+-with-glibc2.0
Timestamp of tree: Fri, 24 Apr 2009 05:30:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 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.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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=athlon-xp -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages metadata-transfer parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2"
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib acl acpi alsa apm arts audiofile authdaemond authlib bash-completion berkdb bluetooth branding bzip2 cairo caps cdparanoia cdr cli clisp compile cracklib crypt css cups dbm dbus devmap dirac djvu doc dovecot-sasl dri dvd dvdr dvdread eds emacs emboss encode esd evo exif fam ffmpeg firefox flac font-server foomaticdb fortran ftp gd gif gimpprint gnome gpm gstreamer gtk gtk2 guile hal iconv id3 imap ipv6 isdnlog jadetex java javascript jpeg jpeg2k kde kpathsea lame latex lcms ldb leim libg++ libnotify libwww live loop-aes mad maildir mbox midi mikmod mime ming mmap mmx mmxext mng mozilla mp3 mp4 mp4live mpeg mudflap mule musicbrainz mzscheme ncurses networking nls nptl nptlonly nsplugin nvidia ocaml ofx ogg opengl openmp oss pam pcre pdf pdflib perl player png posix postgres ppds pppd python qt3 qt3support qt4 quicktime readline reflection rss ruby sasl sdl session smime sockets source spell spl sse ssl startup-notification svg sysfs tcltk tcpd tetex theora threads tiff tk truetype unicode usb utempter vcd vim vorbis win32codecs wxwindows x86 xine xinerama xinetd xml xml2 xorg xscreensaver xulrunner xv xvid 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 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

=================================================================
                        Package Settings
=================================================================
>>> Attempting to run pkg_info() for 'x11-drivers/nvidia-drivers-180.29'
 * pkg_info() is not defined: 'nvidia-drivers-180.29.ebuild'
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-04-25 17:04:36 UTC
>>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/build.log'

Please attach that file to this bug report.
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-04-26 19:49:48 UTC
(In reply to comment #1)
> >>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/build.log'
> 
> Please attach that file to this bug report.

Sorry, didn't see you were posting the full build.log into comment #0

Anyway, is there a symlink /usr/src/linux pointing at your kernel-sources?
Comment 3 Daniel E. Wilson 2009-04-26 22:28:18 UTC
(In reply to comment #2)
Yes, There is a symlink pointing at the kernel source tree.  This was the first thing I checked.

> (In reply to comment #1)
> > >>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/build.log'
> > 
> > Please attach that file to this bug report.
> 
> Sorry, didn't see you were posting the full build.log into comment #0
> 
> Anyway, is there a symlink /usr/src/linux pointing at your kernel-sources?
> 

Comment 4 Xake 2009-05-10 19:03:25 UTC
I have had nvidia-drivers from ~x86 merged on my previous i686 system. Yesterday I reinstalled my system with x86_64 and now nvidia-drivers-180.51 fails to install with this error. I have removed, remerged and rebuilt my kernel (using genkernel), the /usr/src/linux symlink is there and working.
I can not just figure this one out.
Mergin anything else kernel dependent like x11-drm works.
Comment 5 Dale 2009-05-16 16:40:53 UTC
I get basically the same with x11-drivers/nvidia-drivers-173.14.09 which is the only one I can get to work with my old kernel and this card.  I'm trying to upgrade so I can upgrade xorg-server.  Ideas, maybe even a fix would be great.
Comment 6 Xake 2009-05-16 23:09:33 UTC
What you can do is to edit around in your ${S}/usr/src/nv/conftest, around select_makefile remove the nextcoming > /dev/null, and tell what the error message is, since apperently this script tells you it cant find your kernel when it just have problems compiling its headertest for various reasons...
Comment 7 Lance Hudson 2009-05-26 21:53:06 UTC
(In reply to comment #6)
> What you can do is to edit around in your ${S}/usr/src/nv/conftest, around
> select_makefile remove the nextcoming > /dev/null, and tell what the error
> message is, since apperently this script tells you it cant find your kernel
> when it just have problems compiling its headertest for various reasons...
> 

I am using a hardened compiler. The command at line 1178 of conftest requires -fPIC to compile.
Comment 8 Doug Goldstein (RETIRED) gentoo-dev 2009-05-27 05:53:23 UTC
Outstanding! Thank you for giving us a usable piece of info to trace this issue down in. I'll see what we can do about addressing this in newer driver releases.
Comment 9 Doug Goldstein (RETIRED) gentoo-dev 2009-05-27 15:39:33 UTC
*** Bug 268054 has been marked as a duplicate of this bug. ***
Comment 10 Xake 2009-05-27 16:20:48 UTC
(In reply to comment #8)
> Outstanding! Thank you for giving us a usable piece of info to trace this issue
> down in. I'll see what we can do about addressing this in newer driver
> releases.
> 

The problem with this is: I use did use a non-gentoo-supported hardened compiler on x86 and it worked.
Then I reinstalled my system to x86_64 and it broke. Then I upgraded my non-gentoo-supported compiler and it worked.

But the initial reported did not even have hardened afaics...
And he also uses a i686-system, where this "-fPIC" thing should not be a problem even on hardened.

So the main bug here I think is that conftest.sh reports it cannot find the kernel whatever problem it hits. That was why I suggested editing around in conftest.sh until you get the real errormessage.
So if a patch is on its way it would be better to have it print the error-message of that gcc-kernel-header-test so different bugs are not identified as this one.
Comment 11 Lance Hudson 2009-05-27 16:52:31 UTC
I dont have a build log not sure why..
Xomen ~ # emerge nvidia-drivers
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-180.29
 * NVIDIA-Linux-x86_64-180.29-pkg2.run RMD160 SHA1 SHA256 size ;-) ...                                                                                [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                                  [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                                 [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/2.6.28-hardened-r7/build
 * Found sources for kernel version:
 *     2.6.28-hardened-r7
 * Checking for MTRR support ...                                                                                                                       [ ok ]
 * Checking for Paravirtualized guest support ...
>>> Unpacking source...
>>> Unpacking NVIDIA-Linux-x86_64-180.29-pkg2.run to /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86_64-180.29-pkg2
 * Applying NVIDIA_glx-defines.patch ...                                                                                                               [ ok ]
 * Applying NVIDIA_glx-glheader.patch ...                                                                                                              [ ok ]
 * Applying NVIDIA_i2c-hwmon.patch ...                                                                                                                 [ ok ]
 * Converting NVIDIA-Linux-x86_64-180.29-pkg2/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ...                                             [ ok ]
>>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work
>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86_64-180.29-pkg2 ...
 * Preparing nvidia module
make -j3 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=/lib/modules/2.6.28-hardened-r7/build HOST_CC=x86_64-pc-linux-gnu-gcc clean module
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1
 *
 * ERROR: x11-drivers/nvidia-drivers-180.29 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_compile
 *             environment, line 3815:  Called linux-mod_src_compile
 *             environment, line 2822:  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=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=/lib/modules/2.6.28-hardened-r7/build HOST_CC=x86_64-pc-linux-gnu-gcc clean module
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/environment'.
 *

>>> Failed to emerge x11-drivers/nvidia-drivers-180.29

 * Messages for package x11-drivers/nvidia-drivers-180.29:

 *
 * ERROR: x11-drivers/nvidia-drivers-180.29 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_compile
 *             environment, line 3815:  Called linux-mod_src_compile
 *             environment, line 2822:  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=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=/lib/modules/2.6.28-hardened-r7/build HOST_CC=x86_64-pc-linux-gnu-gcc clean module
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/environment'.
 *
-----------------------------------------------------------
Xomen temp # emerge --info
Portage 2.1.6.11 (selinux/2007.0/amd64/hardened, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.28-hardened-r7 x86_64)
=================================================================
System uname: Linux-2.6.28-hardened-r7-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4200+-with-glibc2.2.5
Timestamp of tree: Tue, 26 May 2009 17:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8-sse3 -O2 -pipe -fforce-addr"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /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/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=k8-sse3 -O2 -pipe -fforce-addr"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="autoconfig ccache distlocks fixpackages loadpolicy parallel-fetch protect-owned sandbox selinux sesandbox sfperms strict suidctl unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo "
LDFLAGS=""
MAKEOPTS="-j3"
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"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X acpi aim alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt css cups curl curlwrappers cvs dbus dga directfb dri dvd dvdr encode fbcon fbcondecor fbsplash firefox fortran gd gdbm gif gimp gnome gnome-keyring gpm gtk gzip hal hardened hddtemp iconv idn ieee394 imap innodb ipv6 isdnlog jabber java javascript jingle jpeg jpeg2k kerberos keyscrub loop-aes mdnsresponder-compat midi mmx mudflap multilib ncurses netboot nls nptl nptlonly offensive opengl openmp pam pcre pdf perl php pic png pppd python rdesktop readline reflection ruby selinux session smp spl sse sse2 ssl svg tcpd truetype unicode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv vesa"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

-------------------------------------------------------------------------

The error I get after removeing the > dev/null  at line 1178 is
Xomen nv # make
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/ccWopsfE.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/tmp/ccWopsfE.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1

----------------------------------------------------------------
So in my case I added the -fPIC to the command and it worked. As to how it shoud be fixed........
Comment 12 Xake 2009-05-27 19:09:41 UTC
(In reply to comment #11)
<snip>
> 
> ----------------------------------------------------------------
> So in my case I added the -fPIC to the command and it worked. As to how it
> shoud be fixed........
> 

Just as I suspected you are using hardened on a amd64. But for the reporter of that was not the case, so...

Daniel, are you still with us?
What do you get when you:
ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-180.29.ebuild unpack

do 
nano -w /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86-180.29-pkg0/usr/src/nv/conftest.sh

go to line 1178 and change that from
$HOSTCC $CFLAGS -o conftest$$ conftest$$.c > /dev/null 2>&1
to
$HOSTCC $CFLAGS -o conftest$$ conftest$$.c
save and exit

then do
ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-180.29.ebuild compile

and post the new errormessage.
Comment 13 Jason 2009-05-27 20:18:45 UTC
hate to hijack this.. but I believe Im having the same problem.. so heres (hopefully) what you wanted. ;)


badman nvidia-drivers # ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-180.29.ebuild compile
>>> Existing ${T}/environment for 'nvidia-drivers-180.29' will be sourced.
>>> Run 'clean' to start with a fresh environment.
 * NVIDIA-Linux-x86-180.29-pkg0.run RMD160 SHA1 SHA256 size ;-) ...                                                      [ ok ]
 * checking ebuild checksums ;-) ...                                                                                     [ ok ]
 * checking auxfile checksums ;-) ...                                                                                    [ ok ]
 * checking miscfile checksums ;-) ...                                                                                   [ ok ]
 * checking NVIDIA-Linux-x86-180.29-pkg0.run ;-) ...                                                                     [ ok ]
 * Checking for MTRR support ...                                                                                          [ ok ]
 * Checking for Paravirtualized guest support ...
>>> Checking NVIDIA-Linux-x86_64-180.29-pkg2.run's mtime...
>>> Checking NVIDIA-Linux-x86-180.29-pkg0.run's mtime...
>>> Checking NVIDIA-FreeBSD-x86-180.29.tar.gz's mtime...
>>> WORKDIR is up-to-date, keeping...
>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-180.29/work/NVIDIA-Linux-x86-180.29-pkg0 ...
ln: creating symbolic link `Module.symvers': File exists
 * Preparing nvidia module
make -j3 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.28-tuxonice-r3/build HOST_CC=i686-pc-linux-gnu-gcc clean module 
In file included from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/gfp.h:4,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/slab.h:12,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/percpu.h:5,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/rcupdate.h:39,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/sem.h:81,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/sched.h:69,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/utsname.h:35,
                 from conftest11435.c:6:
/lib/modules/2.6.28-tuxonice-r3/build/include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory
In file included from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/gfp.h:4,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/slab.h:12,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/percpu.h:5,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/rcupdate.h:39,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/sem.h:81,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/sched.h:69,
                 from /lib/modules/2.6.28-tuxonice-r3/build/include/linux/utsname.h:35,
                 from conftest11435.c:6:
/lib/modules/2.6.28-tuxonice-r3/build/include/linux/mmzone.h:277: error: 'MAX_NR_ZONES' undeclared here (not in a function)
distcc[11450] ERROR: compile conftest11435.c on localhost failed
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1
 * 
 * ERROR: x11-drivers/nvidia-drivers-180.29 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_compile
 *             environment, line 3709:  Called linux-mod_src_compile
 *             environment, line 2725:  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.28-tuxonice-r3/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-180.29/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.29/temp/environment'.
 * 
badman nvidia-drivers # 
Comment 14 Jason 2009-05-27 20:22:32 UTC
one other tidbit if I may..

badman linux # locate bounds.h 
/usr/src/linux-2.6.29-tuxonice/include/linux/bounds.h
badman linux # grep MAX_NR_ZONES /usr/src/linux-2.6.29-tuxonice/include/linux/bounds.h
#define MAX_NR_ZONES 4 /* __MAX_NR_ZONES	# */
badman linux # 

badman linux # ls -ald /usr/src/linux
lrwxrwxrwx 1 root root 24 May 27 14:27 /usr/src/linux -> linux-2.6.28-tuxonice-r3

im not currently running 2.6.29 because of some funky bug with the nvidia ethernet driver.. but thats not yalls problem.. ;)

-db
Comment 15 Daniel E. Wilson 2009-05-28 14:38:04 UTC
I am not using amd64 or hardened compilers.

Yesterday, I changed the group owner and permissions for the kernel source tree in /usr/src and got the driver package to build.  Here is a listing of the /usr/src directory.

lrwxrwxrwx  1 root root      31 Apr 24 23:16 linux -> /usr/src/linux-2.6.28-gentoo-r5
drwxr-xr-x 21 root root    1.3K Apr 23 23:26 linux-2.6.27-gentoo-r10
drwxr-xr-x  5 root root     208 Apr 23 23:24 linux-2.6.27-gentoo-r7
drwxr-xr-x 21 root root    1.3K Apr 23 23:22 linux-2.6.27-gentoo-r8
drwxrwxr-x 23 root portage 1.6K Apr 24 20:03 linux-2.6.28-gentoo-r5

I am uncertain why this works but the nvidia-driver now builds.
Comment 16 Doug Goldstein (RETIRED) gentoo-dev 2009-05-29 18:32:03 UTC
*** Bug 271659 has been marked as a duplicate of this bug. ***
Comment 17 Louis-Philippe 2009-07-04 20:20:00 UTC
**** I found a solution ****

I've changed my gcc version...

localhost ~ # gcc-config -l
 [1] x86_64-pc-linux-gnu-4.3.3 *
 [2] x86_64-pc-linux-gnu-4.3.3-hardenednopie
 [3] x86_64-pc-linux-gnu-4.3.3-vanilla
localhost ~ # gcc-config set 2
* gcc-config: Could not locate 'set' in '/etc/env.d/gcc/' !
localhost ~ # gcc-config 2
* Switching native-compiler to x86_64-pc-linux-gnu-4.3.3-hardenednopie...
>>> Regenerating /etc/ld.so.cache...                                                                                                                                                      [ ok ]

* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:

*   # source /etc/profile

localhost ~ # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
localhost ~ # emerge -av nvidia-drivers

and BINGO!
Comment 18 Xake 2009-07-05 15:00:02 UTC
(In reply to comment #17)
> **** I found a solution ****
> 
> I've changed my gcc version...
> 

That "solution" is a workaround at best. Using gcc-config for anything but changing the version (you are talking about changing the specs) is never a solution IMO, the ebuild and/or the build-system should handle (and the answer is not "filtering" unless there are more reasons then "does not compile/run").
And if you had read the bug you would know we have talked about a solution for the hardened/PIC-bug (which is not the one initially reported). Essentially it is your walkaround, but only doing the no-pie for the broken part of nvidia-drivers and not for everything else (which the toolchain already handles).  
Comment 19 David J Cozatt 2010-08-23 15:53:21 UTC
Hello bugged people ;) I now have run into this.
I am running ~amd64 in ACCEPY_KEYWORDS 

Until yesterday everything worked fine. I was running 
vanilla 2.6.35.2 when I upgraded to 2.6.36-r1 yesterday
this rears it's head. Checking the Changelog for the kernel 
version bump there is a change as no longer is the default
cross-compile directory set. I believe this may be the issue
Thinking here is that this pkg compiles 32bit and needs that 
set for a cross-compile.

Anyway initially tried after eselect kernel set 3
(which was the vanilla-source) and checking the symlink
should have worked but even later doing
make mrproper and moving an old .config and the running
make oldconfig and then make menuconfig 
before make && make modules_install && make install
dolilo yields no joy. Will post emerge info if prompted 
but am not at home now so would be around 5pm est

Comment 20 Doug Goldstein (RETIRED) gentoo-dev 2012-07-14 21:04:16 UTC
I believe this has been resolved over the years in newer versions. If that's not the case, please reopen.