Trying to emerge alsa-driver (either 0.9.8 or 1.0.2c) while using kernel 2.6 fails in various ways. Most importantly, 1.0.2c fails while searching for the file /usr/src/linux-2.6.1-gentoo-r1/arch/x86/Makefile because the file is not there. In gentoo-dev-sources version 2.6.1-r1, 2.6.2-r1, and in the standard linux kernel sources version 2.6.3, there is no directory arch/x86, but only arch/x86_64. Perhaps alsa-driver needs to be modified to take note of this absence? Reproducible: Always Steps to Reproduce: 1. Install gentoo-dev-sources 2.6.1-r1 or 2.6.2-r1 2. ACCEPT_KEYWORDS="~x86" emerge alsa-driver 3. Actual Results: It fails in the make process, while looking for the file /usr/src/linux-2.6.1-gentoo-r1/arch/x86/Makefile and not finding it. Expected Results: Complete the emerge process successfully. Gentoo Base System version 1.4.3.13 Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.1-gentoo-r1) ================================================================= System uname: 2.6.1-gentoo-r1 i686 AMD Athlon(tm) Autoconf: sys-devel/autoconf-2.58 Automake: sys-devel/automake-1.7.7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb cdr crypt cups encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg kde libg++ libwww mad mikmod motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Perhaps the alsa-driver should be looking in arch/i386 directory instead of arch/x86? That's where my kernel is... Is it arch/x86 for the 2.4.x kernels?
Happens for me too.
Created attachment 25918 [details] alsa-driver-1.0.2c.ebuild Can you please try this one... it unsets the ARCH env. var. I am guessing that's the problem as I've seen a similar problem before...
The new ebuild with ARCH unset behaves the same way. It looks for /usr/src/linux-version/arch/x86/Makefile and breaks when it can't find it.
Are you sure you should be trying to install alsa-driver with a 2.6.X kernel? The 2.6 kernel has ALSA built-in, so installing alsa-driver is redundant, if not dangerous.
I guess I spoke too soon, having just now looked at Bug 34929. Although, it would seem that with kernel 2.6.3, trying to install alsa-driver 1.0.2c is redundant since 1.0.2c is included.
damn... hopefully I don't need to be running 2.6 to reproduce this (as I can't)... I imagine as such, but you never know... I'll try reproducing this this later and looking for a fix...
I succedssfully compiled alsa-driver 1.0.2c against development-sources-2.6.3. Can you please copy-paste the output you saw as I cannot reproduce this bug.
I was trying to compile against 2.6.1-r1 and 2.6.2-r1. Though I did build the 2.6.3 kernel, I didn't try emerging alsa for 2.6.3 at all. I may not be able to get the output from the emerge command for a little while. For better stability, I went back to the 2.4.22 kernel, at least for now. But the root problem was that the emerge command for alsa 1.0.2c was trying to find the file /usr/src/linux-2.6.1-gentoo-r1/arch/x86/Makefile and failing. In the kernel source tree for 2.6.1-r1 and 2.6.2-r2, there is no x86 directory in arch. Even in my 2.4.22-r7 kernel sources, there's no such directory, and I also checked a vanilla 2.6.3 kernel from linuxhq and ftp.kernel.org, and that kernel also had no x86 directory in arch. Does your 2.6.3 kernel have such a directory (/usr/src/(symlink)/arch/x86)? In all of the 4 kernels that I've built, the only x86 directory is x86_64 (others for 2.4.22-r7 include: alpha cris ia64 mips parisc ppc64 s390x sh64 sparc64 arm i386 m68k mips64 ppc s390 sh sparc x86_64). When I build my kernels, the bzImage ends up in the arch/i386 directory. I'm thinking that the 1.0.2c sources are looking in the wrong directory for a makefile or something. Maybe they've been fixed lately?
No x86 directory for me... $ ls -l /usr/src/linux-2.6.3/arch/x86 ls: /usr/src/linux-2.6.3/arch/x86: No such file or directory But it compiled fine, so the question is why is it looking there... Can you post the output of 'emerge --debug \=media-sound/alsa-driver-1.0.2c' (as an attachment)
Created attachment 26214 [details] alsa-driver-error
I have this same exact issue. The interesting thing with this bug is that when the emerge failes, if you go the the work directory and do a make and then a make install, it works. This is the way I have gotten arround this issue. To me, it seemes to be something the way the ebuild works. Hope this helps out.
What I dodn't get is why it worked for me and not others... perhaps it's just specific ALSA_CARDS settings... what do you guys have ALSA_CARDS set to?
ALSA_CARDS="bt87x intel8x0 intel8x0m"
ALSA_CARDS="emu10k1"
Ok, this is bizzare... I just did it with development-sources-2.6.3 and ALSA_CARDS=emu10k1. I really don't see where this is coming from...
I have development-sources-2.6.3 on two machines. Fails on both. One has ASLA_CARDS="emu10k1", the other has ALSA_CARDS='ens1371 sb16'. alsa-driver-1.0.3 also fails, same error all around.
Guys One person in this thread has already pointed out the solution. ALSA is already included in the kernel as of 2.6.0. You don't need to, in fact you should not, emerge alsa-driver with a 2.6.x kernel. All you need is alsa-lib and alsa-utils.
It's actually possible and necessary for some, in the event that the kernel version of ALSA is a version behind the alsa project release. It remains a problem with the ebuild itself, because it is otherwise possible to build ALSA modules for kernel 2.6 in this way.
Yes, but if you want to keep track of the latest alsa tree with a 2.6 kernel, use the mm-sources kernel ebuild.
Jeremy, you say you have no issues with this using the development-sources-2.6.3. Do you see this issue if you use the gentoo-dev-sources-2.6.3-r1? I can reproduce it using the gentoo-dev-sources-2.6.3-r1 with ALSA_CARDS=au8820.
what version of linux-headers do you have installed?
linux-headers-2.4.21. Portage doesn't offer to install anything newer.
(03:23:23 Fri Mar 05 2004 jeremy@eradicator) /usr/portage/sys-kernel/linux-headers $ ls *2.6* linux-headers-2.6.1.ebuild linux-headers-2.6.3-r1.ebuild I see newer ones... but they're -* masked... odd... well alsa-driver should be getting the headers out of /usr/src/linux anyhow... and tha tis consistent with breakage due to the update... I haven't tried -r1, but since I couldn't reproduce the problem with 2.6.3, I doubt I'll have a problem with -r1... I'll try when time permits.
w/r to comment #18: I want to emerge alsa-tools and they require alsa-driver. So i cannot go without them, even if I am using 2.6.3 vanilla sources. BTW, I soft-linked /usr/src/linux/arch/i386 to ..../arch/x86 to let the ebuild find the makefile and now it fails with: make[1]: Entering directory `/usr/src/linux-2.6.3' HOSTCC scripts/fixdep ACCESS DENIED open_wr: /usr/src/linux-2.6.3/scripts/.fixdep.d cc1: Permission denied: opening dependency file scripts/.fixdep.d make[2]: *** [scripts/fixdep] Error 1 make[1]: *** [scripts] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.3' make: *** [compile] Error 2 !!! ERROR: media-sound/alsa-driver-1.0.3 failed. !!! Function src_compile, Line 66, Exitcode 2 !!! Parallel Make Failed --------------------------- ACCESS VIOLATION SUMMARY ---------------------------LOG FILE = "/tmp/sandbox-media-sound_-_alsa-driver-1.0.3-11080.log" open_wr: /usr/src/linux-2.6.3/scripts/.fixdep.d --------------------------------------------------------------------------------king
Chris, you don't NEED media-sound/alsa-driver if you are using a 2.6.x kernel, but it is recommended over the in-kernel ones to ease consistency between -driver and -lib.
I know, but the alsa-tools ebuild REQUIRES the alsa-driver package and I think that even with Kernel 2.6 i still NEED the alsa-tools package, isn't it?
do an emerge sync, then... as I don't see it 'DEPEND'ing on alsa-driver...
Did that. 08:12 CET: root@king christoph # emerge -up world These are the packages that I would merge, in order: Calculating world dependencies ...done! [ebuild N ] media-sound/alsa-driver-1.0.3 [ebuild U ] media-sound/alsa-tools-1.0.3 [1.0.2] root@king christoph # emerge alsa-tools Calculating dependencies ...done! >>> emerge (1 of 2) media-sound/alsa-driver-1.0.3 to / ^C root@king christoph # emerge -u alsa-tools Calculating dependencies ...done! >>> emerge (1 of 2) media-sound/alsa-driver-1.0.3 to / ^C Looks like "my" version of alsa-tools IS depending on alsa-driver. Here's emerge info: Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.2.5-r2,2.3.3_pre20040207- r0, 2.6.3) ================================================================= System uname: 2.6.3 i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.4.3.13 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /etc/tomcat /opt/resin/conf /usr/X11R6/lib/X11/xkb /usr/kde /2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/shar e/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/sh are/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/tex mf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache distcc fixpackages sandbox userpriv usersan dbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwe nte.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp .uni-erlangen.de/pub/mirrors/gentoo http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X aalib acpi alsa apm avi berkdb bonobo cdr crypt cups doc dvd dvdr encode foomaticdb gd gdbm gnome gpm gtk gtk2 gtkhtml guile hbci imagemagick imlib ipv6 java jpeg ldap libg++ libwww mad mozilla moznocompose moznoirc moznomail mpeg nc urses nls nocardbus nvidia oggvorbis opengl pam pda pdflib perl png postgres pyt hon readline samba scanner sdl slang spell ssl svga tcltk tcpd tetex tiff truety pe usb x86 xml2 xmms xv zlib"
Chris, what kernel are you using? It's probably a problem with that kernel not providing virtual/alsa-driver. NOT a problem with alsa-tools as alsa-tools doesn't DEPEND on alsa-driver... verify yourself by checking the ebuild.
I am using kernel 2.6.3 vanilla and unpatched from ftp.kernel.org.
I've been having the same alsa-driver problem when using it under any 2.6.x kernel to date. I'm using alsa-driver over the in-kernel alsa because my driver, au88x0, is only present in the alsa-driver package. I can always replicate the problem, regardless if I'm using a kernel package in portage or downloading and extracting it manually from kernel.org. If I 'ACCEPT_KEYWORDS="~x86" emerge alsa-driver', I get the following error: make[1]: Entering directory `/usr/src/linux-2.6.4' Makefile:406: /usr/src/linux-2.6.4/arch/x86/Makefile: No such file or directory To get it to build correctly, I had to turn off sandbox, and pre-set the ARCH environment variable: FEATURES="-sandbox" ARCH="i386" ACCEPT_KEYWORDS="~x86" emerge alsa-driver ALSA_CARDS="au8830" is set in /etc/make.conf I'd get past the x86/Makefile problem when using sandbox, but I'd get further errors like: --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-media-sound_-_alsa-driver-1.0.3-9606.log" open_wr: /usr/src/linux-2.6.4/.tmp_versions/snd-mpu401-uart.mod open_wr: /usr/src/linux-2.6.4/.tmp_versions/snd-ac97-codec.mod open_wr: /usr/src/linux-2.6.4/.tmp_versions/snd-hwdep.mod . . . I hope that some of this helps. I can perform some emerge --debug's if you feel it is necessary.
hopefully the soon-to-be-released update to the kernel module eclass will get this fixed up... hold on guys...
I finalyl got a machine to test 2.6 out on... 1.0.3 (cvs version 1.2) should compile on 2.6 now... but it does it in a very backwards way... it can probably be cleaned up a bit more, but for now it works... if anyone wants to tighten it up (instead of copying over the whole source tree), please submit it in a bug report.