Summary: | media-sound/alsa-driver-1.0.14_rc2-r1 compile failure on kernel 2.4.* | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Rajiv Aaron Manglani (RETIRED) <rajiv> |
Component: | New packages | Assignee: | Gentoo ALSA team <alsa-bugs> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | brokenthorn, rajiv |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
media-sound:alsa-driver-1.0.14_rc2-r1:20070506-174305.log
media-libs:alsa-lib-1.0.15_rc2:20070917-185122.log |
Description
Rajiv Aaron Manglani (RETIRED)
2007-05-06 17:52:20 UTC
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 |