if you don't have a /usr/src/linux symlink, emerge'ing alsa-drivers will fail. This is not only wrong, but causes problems with other ebuilds. the alsa-drivers package should search /usr/src/`uname -r`/ and then /usr/include/ the kernel-specific headers in /usr/include are dependent on the version of linux kernel that was used when compiling glibc. the /usr/src/linux symlink is confusing, unnecessary, and ugly on a matter of bad habits. also, alsa-drivers is unnecessary when using linux kernel 2.5.x, so how do we account for this? Reproducible: Always Steps to Reproduce: 1. remove /usr/src/linux symlink 2. emerge alsa-drivers 3. :)
Never the less, having the /usr/src/linux symlink is usefull when having several kernels installed.
alsa-driver uses the "check_KV" function, provided by the portage to make sure that the kernel sources are unpacked someplace. This function is not alsa-specific. Alsa ebuild needs to know what kernel sources it needs to use for compilation (which is not necessarily the same kernel as the one running at the compile time). I think that it is reasonable to require the presence of /usr/src/linux symlink. Because alsa-driver compiless kernel modules (as opposed to a regular programs), it needs the headers of the kernel, into which it will be loaded, and not of the one, against which glibc was compiled. There is a separate bug open for the problem of alsa-driver and 2.5 kernels both providing the drivers. Please search the bugs database before posting a bug.
*** Bug 38323 has been marked as a duplicate of this bug. ***