Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 287807 - nvidia-drivers compile cannot find target kernel version
Summary: nvidia-drivers compile cannot find target kernel version
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 2 votes (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 327003
Blocks:
  Show dependency tree
 
Reported: 2009-10-05 19:09 UTC by Morten Egelund Rasmussen
Modified: 2012-03-23 15:31 UTC (History)
13 users (show)

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


Attachments
build.log with the error message. (build.log,3.78 KB, text/plain)
2009-10-05 19:11 UTC, Morten Egelund Rasmussen
Details
ebuild environment (environment,159.05 KB, text/plain)
2009-10-05 19:12 UTC, Morten Egelund Rasmussen
Details
Output from "emerge --info" (emerge-info,4.31 KB, text/plain)
2009-10-05 19:13 UTC, Morten Egelund Rasmussen
Details
proposed ebuild for x11-drivers/nvidia-drivers-173.14.22 (nvidia-drivers-173.14.22.ebuild,15.14 KB, text/plain)
2010-07-16 16:37 UTC, Eric Johnson
Details
proposed patch for x11-drivers/nvidia-drivers-173.14.22 (nvidia-drivers-173.14.22-2.6.33.patch,2.91 KB, patch)
2010-07-16 16:38 UTC, Eric Johnson
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Morten Egelund Rasmussen 2009-10-05 19:09:51 UTC
After upgrading my kernel to 2.6.31-gentoo-r1, I cannot compile nvidia-drivers. (It worked fine before with 2.6.28-gentoo-r1.)

I get this error: "*** Unable to determine the target kernel version. ***".
(See attached build.log)

I have configured the kernel (like many before this) using "make oldconfig", "make menuconfig", etc.
Comment 1 Morten Egelund Rasmussen 2009-10-05 19:11:00 UTC
Created attachment 206167 [details]
build.log with the error message.
Comment 2 Morten Egelund Rasmussen 2009-10-05 19:12:16 UTC
Created attachment 206168 [details]
ebuild environment
Comment 3 Morten Egelund Rasmussen 2009-10-05 19:13:29 UTC
Created attachment 206169 [details]
Output from "emerge --info"
Comment 4 Morten Egelund Rasmussen 2009-10-05 19:14:58 UTC
Oh yeah: I'm using an old Nvidia-card, so I have masked everything above and equal to nvidia-drivers-97.00
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2009-10-06 19:25:50 UTC
(In reply to comment #1)
> Created an attachment (id=206167) [details]
> build.log with the error message.

That does not look like a complete build log.

Please update sys-apps/portage to the latest stable (or unstable - half of your toolchain is ~arch anyway) and try to reproduce the problem.
Comment 6 Morten Egelund Rasmussen 2009-10-07 10:01:23 UTC
(In reply to comment #5)
> That does not look like a complete build log.
> 
> Please update sys-apps/portage to the latest stable (or unstable - half of your
> toolchain is ~arch anyway) and try to reproduce the problem.
> 


I have updated portage to 2.1.6.13. Problem is exactly the same.

The posted build.log is the file mentioned in the error message (i.e. /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.13/temp/build.log). I don't think there's more than that.

I think I read somewhere that the kernel tree structure (or what it was) has changed with 2.6.30, if that's any help to you.

Clearly the Nvidia script just don't find the kernel version for some weird reason. If I do this the script doesn't bark:

> eselect kernel set linux-2.6.28-gentoo-r1
> emerge nvidia-drivers
> eselect kernel set linux-2.6.31-gentoo-r1

However the drivers will be compiled against the wrong kernel, which doesn't help. It just gives an indication that something has changed in the kernel source tree.
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2009-10-07 16:00:45 UTC
96.43.13 should work particularly nicely with kernel 2.6.30. Maybe it helps to configure the kernel or perhaps remove the sources directory and re-emerge the sources package, and then reconfigure the kernel and try again.
Comment 8 Morten Egelund Rasmussen 2009-10-09 16:00:00 UTC
(In reply to comment #7)
> 96.43.13 should work particularly nicely with kernel 2.6.30. Maybe it helps to
> configure the kernel or perhaps remove the sources directory and re-emerge the
> sources package, and then reconfigure the kernel and try again.
> 

Deleted the kernel sources directory and re-emerged sources package and reconfigured kernel.

Still the same. Kernel is 2.6.31-gentoo.r1.
Comment 9 Morten Egelund Rasmussen 2009-10-09 19:35:20 UTC
I also tried with gentoo-sources-2.6.30-gentoo-r7. Error is exactly the same.

I'm going back to 2.6.28-gentoo-r1 now, where nvidia-drivers emerge with no problems at all.
Comment 10 Peter van Toorn 2009-10-22 10:21:00 UTC
Confirm the same problem on linux-2.6.30-gentoo-r5
Note I had to reinstall my gentoo last night from  LiveCd 10.1
Comment 11 mikeym 2009-10-23 13:03:34 UTC
Same problem on kernel-2.6.30-gentoo-r5 on AMD64.
Comment 12 Doug Goldstein (RETIRED) gentoo-dev 2009-11-03 04:03:05 UTC
Something is screwed up with your toolchain..

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.31-gentoo-r1/build HOST_CC=i686-pc-linux-gnu-gcc clean module 
If you are using a Linux 2.4 kernel, please make sure

Notice the CROSS_COMPILE line is incomplete..
Comment 13 f5d8fd51ed1e804c9e8d0357e8614e0493b06e96 2009-11-08 18:06:55 UTC
(In reply to comment #12)
> 
> Notice the CROSS_COMPILE line is incomplete..
> 

Same happens whilest I am emerging nvidia-drivers - still they compile and work just fine. This seems to be the fault of linux-mod.eclass.

Just look at what the eclass does:
            # This looks messy, but it is needed to handle multiple variables
            # being passed in the BUILD_* stuff where the variables also have
            # spaces that must be preserved. If don't do this, then the stuff
            # inside the variables gets used as targets for Make, which then
            # fails.
            eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" \
                        CROSS_COMPILE=${CHOST}- \
                        LDFLAGS=\"$(get_abi_LDFLAGS)\" \
                        ${BUILD_FIXES} \
                        ${BUILD_PARAMS} \
                        ${BUILD_TARGETS} " \




Comment 14 Michael Weber (RETIRED) gentoo-dev 2009-12-09 02:34:53 UTC
I've just seen this with git source linux-next-20091208.
The source contains a include/generated/autoconf.h but no
include/linux/autoconf.h, just make an symlink.

My debugging command after ebuild `equery which nvidia-drivers` compile was:
bash /var/tmp/portage/x11-drivers/nvidia-drivers-190.42-r3/work/NVIDIA-Linux-x86_64-190.42-pkg2/usr/src/nv/conftest.sh cc cc /usr/src/linux-next/ /usr/src/linux-next/ select_makefile

Michael
Comment 15 Mathieu Rochette 2010-01-06 22:02:42 UTC
I had this problem with 2.6.33-rc[23].
I confirm that the symlink fix this problem.

but then you also need (for >=2.6.33) this patch: http://www.nvnews.net/vbulletin/showthread.php?t=142794
Comment 16 Yuval Hager 2010-03-12 07:16:58 UTC
x11-drivers/nvidia-drivers-190.53-r1 works fine with 2.6.33, I think this bug can be closed.
Comment 17 Doug 2010-06-25 15:42:46 UTC
I had this problem after updating my kernel to gentoo-sources-2.6.33-r2 (amd64). Unmasking nvidia-drivers-190.53-r1 (as well as >=x11-libs/libvdpau-0.3-r1) resolved the problem.
Comment 18 Matthias Langer 2010-06-26 23:48:08 UTC
(In reply to comment #17)
> I had this problem after updating my kernel to gentoo-sources-2.6.33-r2
> (amd64). Unmasking nvidia-drivers-190.53-r1 (as well as
> >=x11-libs/libvdpau-0.3-r1) resolved the problem.

Exactly the same here. As gentoo-sources-2.6.33-r2 are stable, I guess we need a newer version of nvidia-drivers stable too.

Portage 2.1.8.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.3, glibc-2.11.1-r0, 2.6.31-gentoo-r6 x86_64)
=================================================================
System uname: Linux-2.6.31-gentoo-r6-x86_64-Intel-R-_Xeon-R-_CPU_E5462_@_2.80GHz-with-gentoo-1.12.13
Timestamp of tree: Fri, 25 Jun 2010 21:15:01 +0000
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /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"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/var/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.uni-c.dk/pub/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ "
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j6"
PKGDIR="/var/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="/var/portage/repos/gentoo"
PORTDIR_OVERLAY="/var/portage/repos/private"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo caps cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode evo exif fam firefox flac fortran fuse gdbm gdu gif gnome gnome-keyring gpm gtk hal iconv ipv6 java jpeg jpeg2k latex lcms ldap libnotify mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support qt4 readline reflection sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd threads tiff truetype unicode usb vim-syntax vorbis x264 xcb xinerama xml xorg xulrunner xv xvid 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" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Comment 19 Pacho Ramos gentoo-dev 2010-06-30 13:25:39 UTC
This should be solved in testing and stable when bug 325513 is solved
Comment 20 Libor Polčák 2010-07-10 15:57:00 UTC
(In reply to comment #19)
> This should be solved in testing and stable when bug 325513 is solved
> 

Well, bug 325513 is about driver to the newest nvidia cards. This bug is about older cards (see http://www.gentoo.org/doc/en/nvidia-guide.xml for more details):

(comment #4)
> Oh yeah: I'm using an old Nvidia-card, so I have masked everything above and
> equal to nvidia-drivers-97.00
> 

I have experienced same problem as is mentioned in the bug 325513 using kernel linux-2.6.34-gentoo-r1 (stable on x86) and x11-drivers/nvidia-drivers-96.43.14 (latest x86 stable <= 97.0).

Maybe a separate bug should be filled?
Comment 21 Jan Hrabe 2010-07-10 19:41:41 UTC
This is also a problem for the latest legacy nvidia-drivers-173.14.22 after upgrading the kernel to 2.6.34-gentoo-r1:

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

make: *** [select_makefile] Error 1
 * ERROR: x11-drivers/nvidia-drivers-173.14.22 failed:
 *   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.34-gentoo-r1/build HOST_CC=i686-pc-linux-gnu-gcc clean module

Should I file a separate report?
Comment 22 Stephan Litterst 2010-07-11 06:29:00 UTC
same here with Linux gen2 2.6.34-gentoo-r1 #1 SMP Sat Jul 10 10:47:36 CEST 2010 i686 AMD Athlon(tm) XP 2800+ AuthenticAMD GNU/Linux and x11-drivers/nvidia-drivers-173.14.22 (linux-2.6.32-gentoo-r7 worked fine).

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

 * ERROR: x11-drivers/nvidia-drivers-173.14.22 failed:
 *   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.34-gentoo-r1/build HOST_CC=i686-pc-linux-gnu-gcc clean module
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 4108:  Called linux-mod_src_compile
 *   environment, line 3049:  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}";
 * 
 * If you need support, post the output of 'emerge --info =x11-drivers/nvidia-drivers-173.14.22',
 * the complete build log and the output of 'emerge -pqv =x11-drivers/nvidia-drivers-173.14.22'.
 * The complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.22/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.22/temp/environment'.
 * S: '/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.22/work/NVIDIA-Linux-x86-173.14.22-pkg0'
Comment 23 Eric Johnson 2010-07-16 15:37:10 UTC
i have the same issue with kernel 2.6.34-gentoo-r1 and nvidia-drivers-173.14.22

in the nvidia-drivers-190.53 patch file for the 2.6.33 kernel, there are some corrections to paths that seem to be appropriate for this kernel, as well. 

without any careful thought, i created a local ebuild, blindly copied the patch file and modified the nvidia-drivers-173.14.22 ebuild to include the test "kernel_is ge 2 6 33" to apply the epatch. installation got a bit further but it failed.

maybe with a bit more intelligence, there's a solution here.
Comment 24 Eric Johnson 2010-07-16 16:36:57 UTC
i've had success compiling nvidia-drivers-173.14.22 with kernel 2.6.34-gentoo-r1 under x86

the nvidia-drivers-190.53 patch was close to providing what was needed. the 190.53 patch made reference to nvacpi.c which doesn't exist for 173.14.22. the nv-linux.h header file had an include to linux/autoconf.h where generated/autoconf.h is needed for the newer kernels.

i'll attach my ebuild and patch:

nvidia-drivers-173.14.22.ebuild
files/nvidia-drivers-173.14.22-2.6.33.patch
Comment 25 Eric Johnson 2010-07-16 16:37:58 UTC
Created attachment 239069 [details]
proposed ebuild for x11-drivers/nvidia-drivers-173.14.22
Comment 26 Eric Johnson 2010-07-16 16:38:54 UTC
Created attachment 239071 [details, diff]
proposed patch for x11-drivers/nvidia-drivers-173.14.22
Comment 27 Eric Johnson 2010-07-20 17:51:34 UTC
I guess it is a moot point with 173.14.25 now marked stable

(In reply to comment #24)
> i've had success compiling nvidia-drivers-173.14.22 with kernel
> 2.6.34-gentoo-r1 under x86
Comment 28 Ivan Grynko 2011-05-21 23:57:50 UTC
>>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-270.41.19/work
>>> Preparing source in /var/tmp/portage/x11-drivers/nvidia-drivers-270.41.19/work ...
 * Applying 256.35-unified-arch.patch ...                                                [ ok ]
 * Converting /kernel/Makefile.kbuild to use M= instead of SUBDIRS= ...                  [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/x11-drivers/nvidia-drivers-270.41.19/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-270.41.19/work ...
 * 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.39-git4/build 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. ***
But with gentoo-sources-2.6.39 it compiles fine.