Bug 177357 - media-sound/alsa-driver-1.0.14_rc2-r1 compile failure on kernel 2.4.*
|
Bug#:
177357
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: WONTFIX
|
Assigned To: alsa-bugs@gentoo.org
|
Reported By: rajiv@gentoo.org
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: media-sound/alsa-driver-1.0.14_rc2-r1 compile failure on kernel 2.4.*
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-05-06 17:52 0000
|
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
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.
(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.
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