i686-pc-linux-gnu-gcc -D__KERNEL__ -DMODULE=1 -I/var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include -I/lib/modules/2.4.32/build/include -I/usr/src/linux/include -O2 -mpreferred-stack-boundary=2 -march=athlon -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD -nostdinc -iwithprefix include -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -DEXPORT_SYMTAB -c sound.c In file included from /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/sound/driver.h:46, from sound.c:22: /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/adriver.h:847:1: warning: "snd_card_set_dev" redefined /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/adriver.h:844:1: warning: this is the location of the previous definition In file included from sound.c:28: /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/sound/core.h:239: warning: `struct device_attribute' declared inside parameter list /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/sound/core.h:239: warning: its scope is only this definition or declaration, which is probably not what you want sound.c: In function `snd_open': sound.c:171: warning: assignment discards qualifiers from pointer target type sound.c:176: warning: assignment discards qualifiers from pointer target type sound.c: At top level: sound.c:380: warning: `struct device_attribute' declared inside parameter list sound.c:381: error: conflicting types for `snd_add_device_sysfs_file' /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/include/sound/core.h:239: error: previous declaration of `snd_add_device_sysfs_file' make[1]: *** [sound.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2-r1/work/alsa-driver-1.0.14rc2/acore' make: *** [compile] Error 1 !!! ERROR: media-sound/alsa-driver-1.0.14_rc2-r1 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile alsa-driver-1.0.14_rc2-r1.ebuild, line 129: Called die !!! Make Failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/log/portage/media-sound:alsa-driver-1.0.14_rc2-r1:20070506-174305.log'. note that this version is currently marked stable for x86. Portage 2.1.2.6 (default-linux/x86/no-nptl/2.4, gcc-3.3.6, glibc-2.3.6-r5, 2.4.32 i686) ================================================================= System uname: 2.4.32 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.12.6 Timestamp of tree: Sun, 06 May 2007 00:50:01 +0000 ccache version 2.4 [enabled] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.4.26-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/usr/share/X11/xkb /var/bind /var/qmail/alias /var/qmail/control /var/spool/at" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php4/ext-active/ /etc/php/apache2-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cli-php4/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache cvs distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo/" LC_ALL="en_US.utf8" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/voip" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="3dnow X alsa apache2 apm audacious bash-completion berkdb bitmap-fonts bzip2 caps cli cracklib crypt cups curl eds emacs emboss encode ethereal expat foomaticdb gd gdbm gif gstreamer gtk gtk2 iconv imap imlib innodb isdnlog jpeg libg++ libwww live logrotate mad maildir mbox midi mmx motif mp3 mpeg mysql ncurses ogg oss pam pcre perl png pppd python qmail qt3 qt4 quicktime readline reflection sdl server session spell spl sse ssl tiff tools truetype truetype-fonts type1-fonts unicode vhosts vim-with-x virus-scan vorbis wxwindows x86 xml xml2 xorg xv xvid zaptel zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 118367 [details] media-sound:alsa-driver-1.0.14_rc2-r1:20070506-174305.log
Shrug; use 2.6 kernel if you want any support.
seems then that alsa-* >1.0.14_rc1 should be masked in 2.4 profiles. that is the last version which builds with 2.4.
No, this is a genuine bug. 2.4 support isn't abandoned upstream.
relevant upstream bug: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2822
(In reply to comment #4) > No, this is a genuine bug. 2.4 support isn't abandoned upstream. I'm not talking about upstream; Gentoo should simply stop pretending that we support something we actually don't. Noone tests anything w/ 2.4 kernels, the bugs filed about compile failures w/ 2.4 kernels are generally rotting in bugzilla or being WONTFIXed, and 2.4 kernels don't compile w/ gcc-4.x and never will, while gcc-4.1 is the default compiler everywhere but on hardened profiles.
Rajiv has the same opinion, and I agree. Feel free to start a push to officially unsupport 2.4 - I'll be with you 100% on that.
(In reply to comment #6)and 2.4 kernels don't compile w/ gcc-4.x and never > will, while gcc-4.1 is the default compiler everywhere but on hardened > profiles. Plain wrong. Kernel-2.4.32 and newer CAN be compiled with gcc-4.x.
According to the upstream bug report, a Mercurial checkout from between RC2 and RC3 builds again. Please test RC3 which is already available in portage. There was 2.6 sysfs rework done which may have fixed this, see the relevant chunk of ChangeLog below: " - Fix sysfs breakage The recent change for a new sysfs tree with card* object breaks the /sys/class/sound tree if CONFIG_SYSFS_DEPRECATED is enabled. The device in each entry doesn't point the correct device object: /sys/class/sound ... |-- pcmC0D0c | |-- dev | |-- device -> ../../../class/sound/card0 | |-- pcm_class | |-- power | | `-- wakeup | |-- subsystem -> ../../../class/sound | `-- uevent Also, this change breaks some drivers (like sound/arm/*) referring card->dev directly to obtain the device object for memory handling. This patch reverts the semantics of card->dev to the former version, which points to a real device object. The card* object is stored in a new card->card_dev field, instead. The device parent is chosen either card->dev or card->card_dev according to CONFIG_SYSFS_DEPRECATED to keep the tree compatibility. Also, card* isn't created if CONFIG_SYSFS_DEPRECATED is enabled. The reason of card* object is a root of all beloing devices, and it makes little sense if each sound device points to the real device object directly. - Fix compilation with older kernels (with sysfs changes) Define CONFIG_SYSFS_DEPRECATED for kernels with older sysfs tree. Also fixed init.patch for the recent version." I appreciate that sysfs is a 2.6-only thing, but a partial rewrite of code in this area may well keep it from building on 2.4 now.
1.0.14_rc3 fails for me with 2.4.34.4: i686-pc-linux-gnu-gcc -D__KERNEL__ -DMODULE=1 -I/var/tmp/portage/media-sound/alsa-driver-1.0.14_rc3/work/alsa-driver-1.0.14rc3/include -I/lib/modules/2.4.34.4/build/include -I/usr/src/linux/include -O2 -mpreferred-stack-boundary=2 -march=athlon -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD -nostdinc -iwithprefix include -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -DKBUILD_BASENAME=wrappers -c -o wrappers.o wrappers.c wrappers.c:47: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:47: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:47: warning: data definition has no type or storage class wrappers.c:123: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:123: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:123: warning: data definition has no type or storage class wrappers.c:145: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:145: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:145: warning: data definition has no type or storage class wrappers.c:169: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:169: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:169: warning: data definition has no type or storage class wrappers.c:188: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:188: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:188: warning: data definition has no type or storage class wrappers.c:209: error: syntax error before "this_object_must_be_defined_as_export_objs_in_the_Makefile" wrappers.c:209: warning: type defaults to `int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' wrappers.c:209: warning: data definition has no type or storage class
1.0.14 also fails but with: i686-pc-linux-gnu-gcc -D__KERNEL__ -DMODULE=1 -I/var/tmp/portage/media-sound/alsa-driver-1.0.14/work/alsa-driv er-1.0.14/include -I/lib/modules/2.4.34.4/build/include -I/usr/src/linux/include -O2 -mpreferred-stack-bounda ry=2 -march=athlon -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-alias ing -fno-common -pipe -DALSA_BUILD -nostdinc -iwithprefix include -DMODVERSIONS -include /usr/src/linux/includ e/linux/modversions.h -DEXPORT_SYMTAB -c misc_driver.c misc_driver.c: In function `snd_isa_platform_suspend': misc_driver.c:1005: error: structure has no member named `suspend' misc_driver.c: In function `snd_isa_platform_resume': misc_driver.c:1015: error: structure has no member named `resume' misc_driver.c: In function `snd_isa_register_driver': misc_driver.c:1038: error: structure has no member named `suspend' misc_driver.c:1040: error: structure has no member named `resume' misc_driver.c: At top level: misc_driver.c:43: warning: `snd_device_pm_callback' defined but not used make[1]: *** [misc_driver.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-sound/alsa-driver-1.0.14/work/alsa-driver-1.0.14/acore' make: *** [compile] Error 1
fyi media-sound/alsa-headers-1.0.14 and media-sound/alsa-driver-1.0.15_rc2 install fine on this 2.4 box. however media-libs/alsa-lib-1.0.15_rc2 fails with: (cd .libs && rm -f smixer-hda.la && ln -s ../smixer-hda.la smixer-hda.la) /bin/sh ../../../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -lpython2.4 -lm -L/usr/lib/python2.4/config -march=athlon-xp -O3 -pipe -c -o smixer_python_la-python.lo `test -f 'python.c' || echo './'`python.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -lpython2.4 -lm -L/usr/lib/python2.4/config -march=athlon-xp -O3 -pipe -c python.c -fPIC -DPIC -o .libs/smixer_python_la-python.o python.c:22:20: Python.h: No such file or directory python.c:30: error: syntax error before "PyObject" python.c:30: warning: no semicolon at end of struct or union python.c:31: warning: data definition has no type or storage class python.c:32: error: syntax error before '*' token python.c:32: warning: data definition has no type or storage class python.c:33: error: syntax error before '}' token python.c:38: error: syntax error before "PyObject_HEAD" python.c:38: warning: no semicolon at end of struct or union python.c:40: warning: data definition has no type or storage class python.c:42: error: syntax error before '}' token python.c:45: error: syntax error before "PyObject_HEAD" python.c:45: warning: no semicolon at end of struct or union python.c:48: error: syntax error before '*' token etc... will attach full compile log.
Created attachment 131167 [details] media-libs:alsa-lib-1.0.15_rc2:20070917-185122.log
note that even though media-sound/alsa-driver-1.0.15_rc2 built on 2.4.x the modules cannot be loaded: /lib/modules/2.4.34.4/kernel/sound/acore/snd.o: /lib/modules/2.4.34.4/kernel/sound/acore/snd.o: unresolved symbol snd_fops /lib/modules/2.4.34.4/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.34.4/kernel/sound/acore/snd.o failed /lib/modules/2.4.34.4/kernel/sound/acore/snd.o: insmod snd-card-0 failed [ !! ] * ERROR: Failed to load necessary drivers [ ok ]
kernel 2.4 is no longer supported on gentoo.
python.c:22:20: Python.h: No such file or directory There's a syntax error on line 22: #include "Python.h" I've backgrounded emerge just after it unpacked the source (I don't have time to mess with overlays -- or learn how to use them :P -- ooor apply patches to ebuilds) code then changed the /var/tmp/portage/media-libs/alsa-lib-1.0.16_rc2/work/alsa-lib-1.0.16rc2/modules/mixer/simple/python. file to look like: #include "/usr/include/python2.4/Python.h" Then fg'ed emerge to resume operations. Emerge succeeded. HTH