Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 112442

Summary: alsa-driver-1.0.10_rc2 does not compile with 2.4.x kernels
Product: Gentoo Linux Reporter: Oliver Walter <owb>
Component: Current packagesAssignee: Gentoo Sound Team <sound>
Status: RESOLVED FIXED    
Severity: normal CC: hppa, ia64, kernel, mips, rajiv, sparc
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Oliver Walter 2005-11-13 11:53:56 UTC
alsa-driver-1.0.10_rc2 fails to build saying
../alsa-kernel/core/memory.c:37: error: syntax error before '*' token
[...]
using ALSA_CARDS="via82xx" and 2.4.26-gentoo-r9

Reproducible: Always
Steps to Reproduce:
1. emerge -u world (or maybe also emerge alsa-driver)

Actual Results:  
i686-pc-linux-gnu-gcc -D__KERNEL__ -DMODULE=1
-I/var/tmp/portage/alsa-driver-1.0.10_rc2/work/alsa-driver-1.0.10rc2/include 
-I/usr/src/linux/include -I/usr/src/linux/include -O2  -DLINUX -Wall
-Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -pipe -DALSA_BUILD -nostdinc -iwithprefix include 
-DKBUILD_BASENAME=memory   -c -o memory.o memory.c
In file included from memory.c:2:
../alsa-kernel/core/memory.c:37: error: syntax error before '*' token
../alsa-kernel/core/memory.c:38: warning: function declaration isn't a prototype
../alsa-kernel/core/memory.c: In function `copy_to_user_fromio':
../alsa-kernel/core/memory.c:40: error: `count' undeclared (first use in this
function)
../alsa-kernel/core/memory.c:40: error: (Each undeclared identifier is reported
only once
../alsa-kernel/core/memory.c:40: error: for each function it appears in.)
../alsa-kernel/core/memory.c:40: error: `dst' undeclared (first use in this
function)
../alsa-kernel/core/memory.c:40: error: syntax error before "__force"
../alsa-kernel/core/memory.c:40: error: syntax error before "__force"
../alsa-kernel/core/memory.c: At top level:
../alsa-kernel/core/memory.c:68: error: syntax error before '*' token
../alsa-kernel/core/memory.c:69: warning: function declaration isn't a prototype
../alsa-kernel/core/memory.c: In function `copy_from_user_toio':
../alsa-kernel/core/memory.c:71: error: `count' undeclared (first use in this
function)
../alsa-kernel/core/memory.c:71: error: syntax error before "__force"
../alsa-kernel/core/memory.c:71: error: `src' undeclared (first use in this
function)
../alsa-kernel/core/memory.c:71: error: syntax error before "__force"
make[1]: *** [memory.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/alsa-driver-1.0.10_rc2/work/alsa-driver-1.0.10rc2/acore'
make: *** [compile] Error 1


Expected Results:  
alsa-driver should build :-)

Portage 2.0.51.22-r3 (default-linux/x86/2005.0/2.4, gcc-3.3.6, glibc-2.3.5-r2,
2.4.26-gentoo-r9 i686)
=================================================================
System uname: 2.4.26-gentoo-r9 i686 mobile AMD Athlon(tm) XP-M 2600+
Gentoo Base System version 1.6.13
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.4.22-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/
http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/
http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow X a52 aac acpi afs alsa arts audiofile avi bash-completion berkdb
bidi bitmap-fonts bl bonobo bootsplash browserplugin bzip2 bzlib cdda cddb cdio
cdparanoia cdr cpudetection crypt cups curl dga divx4linux doc dts dvd dvdr
dvdread edl eds emboss encode esd ethereal exif expat extras faad fam fame
ffmpeg flac font-server foomaticdb fortran freetype ftp gd gdbm ggi gif
gimpprint glut gnome gnutls gpm gstreamer gtk gtk2 gtkhtml httpd icq idn
ieee1394 imagemagick imlib ipv6 jabber java jikes jpeg kde kerberos kqemu krb4
lcms ldap libcaca libg++ libwww live lua lzo mad matroska mikmod mjpeg mmx mng
motif mozilla mp3 mpeg mppe-mppc ncurses network nls nsplugin ogg oggvorbis
opengl oscar pam pcmcia pcre pdflib perl png pnp ppds python qt quicktime
readline real recode samba sdl slang speex spell sse ssl stream svg svga tcltk
tcpd tetex theora tiff truetype truetype-fonts type1-fonts usb utf8 v4l v4l2 vcd
videos vidix vlm vorbis win32codecs wmf wxwindows xanim xine xml xml2 xmms xosd
xv xvid xvmc zlib linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-11-13 12:38:58 UTC
Try with some kernel that is actually still in portage at least... 
Comment 2 Oliver Walter 2005-11-13 13:35:36 UTC
Reopened because it is a bug.

alsa-driver-1.0.10_rc3 works.
---
>>> Merging media-sound/alsa-driver-1.0.10_rc3 to /
[...]
>>> media-sound/alsa-driver-1.0.10_rc3 merged.
---

even "Takashi Iwai" says this is a bug.
see:
http://article.gmane.org/gmane.linux.alsa.devel/27757
http://article.gmane.org/gmane.linux.alsa.devel/27732
Comment 3 Blake Leverett 2005-11-13 14:11:03 UTC
I see the exact same output, and I am using kernel 2.4.26-win4lin-r13. 
 
It also occurs if I try to just emerge this package, and a revdep-rebuild 
doesn't help. 
Comment 4 Carsten Lohrke (RETIRED) gentoo-dev 2005-11-14 06:09:49 UTC
2.4.28-gentoo-r9

In file included from memory.c:2:
../alsa-kernel/core/memory.c: In function `copy_to_user_fromio':
../alsa-kernel/core/memory.c:40: error: parse error before "__force"
../alsa-kernel/core/memory.c:40: error: parse error before "__force"
../alsa-kernel/core/memory.c: In function `copy_from_user_toio':
../alsa-kernel/core/memory.c:71: error: parse error before "__force"
../alsa-kernel/core/memory.c:71: error: parse error before "__force"
make[1]: *** [memory.o] Error 1
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-11-14 06:21:01 UTC
I don't consider that major. Use rc3 in the mean time, the rc2 stabilization 
was an emergency way to fix the 2.6.14 problem, as soon as the final version 
of alsa is released, I'll push to mark that stable. 
 
Comment 6 Carsten Lohrke (RETIRED) gentoo-dev 2005-11-14 10:47:48 UTC
(In reply to comment #5)
> I don't consider that major. Use rc3 in the mean time, the rc2 stabilization 
> was an emergency way to fix the 2.6.14 problem

Such a bug is a major one, when ebuilds which are marked stable are affected. It
just shouldn't happen. The advice to test yet another rc is not a good idea in
this context, since there is a stable working version. There're obviously no
efforts upstream to keep the alsa-driver releases consistent with kernel
releases, so it's probably better to keep it only for 2.4.x and drop supporting
the alsa-driver for linux 2.6, than being forced creating such a mess.
Comment 7 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-11-14 10:53:05 UTC
Erm... alsa-driver *does* fix for 2.6 as this is a newer version than the one 
2.6.14 ships. Also, alsa-lib *must* be in sync with the kernel or we got 
problems. 
 
And as I said on IRC, too, go talk with arch teams and kernel devs to find a 
new solution. Go for rc3 that should work if you're still on 2.4, I can't 
really do anything about this. Should I patch rc2 to add the code in rc3? that 
would require a version bump and an ~arch bump. 
 
Comment 8 Carsten Lohrke (RETIRED) gentoo-dev 2005-11-14 11:27:17 UTC
(In reply to comment #7)
> Erm... alsa-driver *does* fix for 2.6 as this is a newer version than the one 
> 2.6.14 ships. Also, alsa-lib *must* be in sync with the kernel or we got 
> problems. 
  
Yes. Would warrant a blocker in that rc2 lib for 2.4.x kernels.

> And as I said on IRC, too, go talk with arch teams and kernel devs to find a 
> new solution. Go for rc3 that should work if you're still on 2.4, I can't 
> really do anything about this. Should I patch rc2 to add the code in rc3? that 
> would require a version bump and an ~arch bump. 

Kernel 2.4 is still supported, so it should work. Saying "I can't do anything
for you" is really bullshit. The proper advise would be stay with 1.0.9 (afaik
there's not a vulnerability to fix) and adding blockers for 2.4.x kernels in
rc2. But you're right, the only ones who can really fix the issue are the
alsa/kernel developers.
Comment 9 Rajiv Aaron Manglani (RETIRED) gentoo-dev 2005-11-14 22:29:47 UTC
we could also block _rc2 for the 2.4 kernel profiles.
fyi, i am running 2.4.31 on x86 and see this problem.
Comment 10 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-11-15 01:19:32 UTC
Blocking on sources is not correct. 
If you really want to do something, contact the arch teams using 2.4 
subprofiles and let them p.mask on that subprofile this version. 
 
Comment 11 John Mylchreest (RETIRED) gentoo-dev 2005-11-15 02:10:53 UTC
Of course, I understand the implications of this but the best forward approach
is to stabalise this across each arch to fix the 2.4 compatibility issues, and
still accomodate for the recent security fixes.

Can all arch teams which use alsa please test rc3 against both 2.6.31 and
2.6.14.2 and mark stable ASAP. I understand there is no real stabalisation
period here, but this is an unfortunate situation. May I also just comment on
the code changes I viewed between rc3 and rc2, by saying that rc3 should be mre
stable than rc2 :)
Comment 12 Petteri Räty (RETIRED) gentoo-dev 2005-11-15 02:23:50 UTC
(In reply to comment #11)
> 
> Can all arch teams which use alsa please test rc3 against both 2.6.31 and
> 2.6.14.2 and mark stable ASAP. I understand there is no real stabalisation
> period here, but this is an unfortunate situation. May I also just comment on
> the code changes I viewed between rc3 and rc2, by saying that rc3 should be mre
> stable than rc2 :)

Did you also view all the other alsa-* packages we need to stabilize?
Comment 13 John Mylchreest (RETIRED) gentoo-dev 2005-11-15 04:28:46 UTC
Yep, with the exception of alsa-driver there is little change, the problem it
appears is ppc with rc3 and the beep being re-written which flameeyes is aware of.

ppc should be on 2.6 almost exclusively though, since 2.4 is very problematic if
at all working on most ppc machines (as of my last update :))
Comment 14 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-11-15 04:46:48 UTC
Actually, I fixed rc3 for ppc :) 
 
Comment 15 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2005-11-15 05:26:28 UTC
(In reply to comment #13)
> ppc should be on 2.6 almost exclusively though, since 2.4 is very problematic if
> at all working on most ppc machines (as of my last update :))

The Gentoo/ppc team doesn't support 2.4.x anymore on ppc, so Gentoo on PowerPC
should be on 2.6.x exclusively. Beside of that, 2.4.x on ppc isn't very easy in
these days.
Comment 16 Chris Gianelloni (RETIRED) gentoo-dev 2005-11-15 11:05:53 UTC
Done... compile tested against gentoo-sources-2.4.31-r1...
Comment 17 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-11-16 08:56:59 UTC
PPC already have rc3 stable. 
Comment 18 Markus Rothe (RETIRED) gentoo-dev 2005-11-19 07:50:49 UTC
ppc64 does not support kernel 2.4.
Comment 19 Luis Medinas (RETIRED) gentoo-dev 2005-12-10 09:51:03 UTC
removing amd64 since we don't support 2.4 too.
Comment 20 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-12-18 13:41:16 UTC
The only one to have stabled rc2 was x86 and now it's fixed.