alsa-driver is not KERNEL_OUTPUT aware. It fails at configure with a complaint about a missing ".config". The fix is trivial: @@ -75,7 +75,7 @@ econf `use_with oss` \ --with-kernel="${KV_DIR}" \ - --with-build="${KV_DIR}" \ + --with-build="${KV_OUT_DIR}" \ --with-isapnp=yes \ --with-sequencer=yes \ --with-cards="${ALSA_CARDS}" || die "econf failed"
Does setting KV_DIR=YOUR_KV_OUT_DIR before emerging work?
Why would you want to do that? Well, I haven't really tried, because ./configure has the options "--with-build" and "--with-kernel", so it still does need to know where the original sources are it seems. And for a kernel tree that is not configured to use KERNEL_OUTPUT, KV_OUT_DIR is set to KV_DIR anyway.
Well, I did try it, just for fun. Here is the output: # KV_DIR=/var/tmp/linux-build/2.6.10-rc3-y2 ebuild /usr/portage/media-sound/alsa-driver/alsa-driver-1.0.7-r3.ebuild compile >>> md5 src_uri ;-) alsa-driver-1.0.7.tar.bz2 * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /var/tmp/linux-build/2.6.10-rc3-y2 * Found sources for kernel version: * 2.6.10-rc3-y2 * Checking for suitable kernel configuration options * Checking for suitable kernel configuration options * Using KV_OBJ=ko >>> Unpacking source... >>> Unpacking alsa-driver-1.0.7.tar.bz2 to /var/tmp/portage/alsa-driver-1.0.7-r3/work * Applying alsa-driver-1.0.5-devfix.patch ... [ ok ] * Converting alsa-driver-1.0.7/Makefile to use M= instead of SUBDIRS= ... [ ok ] * Applying alsa-driver-1.0.7-ioctl32.patch-r2 ... [ ok ] * Applying alsa-driver-1.0.7-audigy71.patch ... [ ok ] * Applying alsa-driver-1.0.7-configure.patch ... [ ok ] >>> Source unpacked. ./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=//usr/lib64 --target=x86_64-pc-linux-gnu --without-oss --with-kernel=/usr/src/linux --with-build=/usr/src/linux --with-isapnp=yes --with-sequencer=yes --with-cards=emu10k1 cmipci configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ANSI C... none needed checking for x86_64-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for a BSD-compatible install... /bin/install -c checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for an ANSI C-conforming const... yes checking for inline... inline checking whether time.h and sys/time.h may both be included... yes checking whether x86_64-pc-linux-gnu-gcc needs -traditional... no checking for current directory... /var/tmp/portage/alsa-driver-1.0.7-r3/work/alsa-driver-1.0.7 checking cross compile... checking for directory with kernel source... /usr/src/linux checking for directory with kernel build... /usr/src/linux checking for kernel version... The file /usr/src/linux/include/linux/version.h does not exist. Please, install the package with full kernel sources for your distribution or use --with-kernel=dir option to specify another directory with kernel sources (default is /lib/modules/2.6.10-rc3-y2/source). !!! ERROR: media-sound/alsa-driver-1.0.7-r3 failed. !!! Function econf, Line 449, Exitcode 1 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message.
fixed in cvs.
ps. remove the CTARGET line from your /etc/env.d/gcc/* files as it will break some emerges... it's fixed in the newer toolchain.eclass
Maybe you could provide some input on bug #74156. Your comment #5 solved that bug.