Package: alsa-source
Version: 1.0.13-5etch1
Severity: important
Tags: patch

Using "make-kpkg modules_image" fails to build the alsa-modules for me.
I am using a vanilla 2.4.36.2 kernel. I believe this problem is already
fixed upstream, since the 1.0.14 Changelog mentions "Fix build with
DEVFS":
http://www.alsa-project.org/main/index.php/Changes_v1.0.13_v1.0.14

gcc-4.1 -D__KERNEL__ -DMODULE=1 -I/usr/src/modules/alsa-driver/include  
-I/usr/src/linux-2.4.36.2/include -I/usr/src/linux-2.4.36.2/include -O2 
-mpreferred-stack-boundary=2 -march=i586 -Wdeclaration-after-statement 
-Wno-pointer-sign -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-2.4.36.2/include/linux/modversions.h   -DEXPORT_SYMTAB -c sound.c
sound.c: In function 'snd_open':
sound.c:178: warning: assignment discards qualifiers from pointer target type
sound.c:183: warning: assignment discards qualifiers from pointer target type
sound.c: In function 'snd_unregister_device':
sound.c:357: error: 'mptr' undeclared (first use in this function)
sound.c:357: error: (Each undeclared identifier is reported only once
sound.c:357: error: for each function it appears in.)
make[4]: *** [sound.o] Error 1
make[4]: Leaving directory `/usr/src/modules/alsa-driver/acore'
make[3]: *** [compile] Error 1
make[3]: Leaving directory `/usr/src/modules/alsa-driver'
make[2]: *** [build-stamp] Error 2
make[2]: Leaving directory `/usr/src/modules/alsa-driver'
make[1]: *** [kdist_image] Error 2
make[1]: Leaving directory `/usr/src/modules/alsa-driver'
Module /usr/src/modules/alsa-driver failed.
Hit return to Continue

Fixing this then triggers this error:

gcc-4.1 -D__KERNEL__ -DMODULE=1 -I/usr/src/modules/alsa-driver/include  
-I/usr/src/linux-2.4.36.2/include -I/usr/src/linux-2.4.36.2/include -O2 
-mpreferred-stack-boundary=2 -march=i586 -Wdeclaration-after-statement 
-Wno-pointer-sign -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-2.4.36.2/include/linux/modversions.h  
-DKBUILD_BASENAME=wavefront_synth   -c -o wavefront_synth.o wavefront_synth.c
wavefront_synth.c:10: error: static declaration of 'errno' follows non-static 
declaration
/usr/src/linux-2.4.36.2/include/linux/unistd.h:4: error: previous declaration 
of 'errno' was here
make[5]: *** [wavefront_synth.o] Error 1
make[5]: Leaving directory `/usr/src/modules/alsa-driver/isa/wavefront'
make[4]: *** [_modsubdir_wavefront] Error 2
make[4]: Leaving directory `/usr/src/modules/alsa-driver/isa'
make[3]: *** [compile] Error 1
make[3]: Leaving directory `/usr/src/modules/alsa-driver'
make[2]: *** [build-stamp] Error 2
make[2]: Leaving directory `/usr/src/modules/alsa-driver'
make[1]: *** [kdist_image] Error 2
make[1]: Leaving directory `/usr/src/modules/alsa-driver'
Module /usr/src/modules/alsa-driver failed.
Hit return to Continue

I do not have a proper fix for this error, but with a work-around the
alsa-modules package compiles correctly.

-- Package-specific info:
--- Begin additional package status ---
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  alsa-base      1.0.13-5etch1  ALSA driver configuration files
ii  libasound2     1.0.13-2       ALSA library
--- End additional package status ---
--- Begin /dev/snd/ listing ---
ls: /dev/snd: No such file or directory
--- End /dev/snd/ listing ---

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.36.2
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)

Versions of packages alsa-source depends on:
ii  bzip2                        1.0.3-6     high-quality block-sorting file co
ii  debconf [debconf-2.0]        1.5.11etch1 Debian configuration management sy
ii  debconf-utils                1.5.11etch1 debconf utilities
ii  debhelper                    5.0.42      helper programs for debian/rules
ii  dpkg-dev                     1.13.25     package building tools for Debian
ii  gcc [c-compiler]             4:4.1.1-15  The GNU C compiler
ii  gcc-2.95 [c-compiler]        1:2.95.4-27 The GNU C compiler
ii  gcc-3.3 [c-compiler]         1:3.3.6-15  The GNU C compiler
ii  gcc-3.4 [c-compiler]         3.4.6-5     The GNU C compiler
ii  gcc-4.1 [c-compiler]         4.1.1-21    The GNU C compiler
ii  make                         3.81-2      The GNU version of the "make" util

Versions of packages alsa-source recommends:
pn  fakeroot                      <none>     (no description available)
pn  kernel-headers | kernel-sourc <none>     (no description available)
ii  kernel-package                10.067     A utility for building Linux kerne

Versions of packages alsa-base depends on:
ii  linux-sound-base           1.0.13-5etch1 base package for ALSA and OSS soun
ii  lsof                       4.77.dfsg.1-3 List open files
ii  module-init-tools          3.3-pre4-2    tools for managing Linux kernel mo
ii  modutils                   2.4.27.0-6    Linux module utilities

Versions of packages libasound2 depends on:
ii  libc6                  2.3.6.ds1-13etch5 GNU C Library: Shared libraries

-- debconf information:
  alsa-source/cards_to_be_built: all
  alsa-source/debug: false
  alsa-base/alsactl_store_on_shutdown: never autosave
  alsa-source/cards:
  alsa-source/has_pnp: true
  alsa-source/cards_with_descriptions:
--- alsa-driver/acore/sound.c.orig	2008-05-19 00:54:50.000000000 +0200
+++ alsa-driver/acore/sound.c	2008-05-19 00:55:50.000000000 +0200
@@ -345,6 +345,9 @@
 int snd_unregister_device(int type, struct snd_card *card, int dev)
 {
 	int minor;
+#ifdef CONFIG_DEVFS_FS
+	struct snd_minor *mptr;
+#endif
 
 	mutex_lock(&sound_mutex);
 	minor = find_snd_minor(type, card, dev);
@@ -354,6 +357,7 @@
 	}
 
 #ifdef CONFIG_DEVFS_FS
+	mptr = snd_minors[minor];
 	if (mptr->type != SNDRV_DEVICE_TYPE_CONTROL ||
 	    mptr->card >= cards_limit) /* created in sound.c */
 		devfs_remove("snd/%s", (char *)(mptr + 1));
--- alsa-driver/isa/wavefront/wavefront_synth.c.orig	2008-05-19 01:01:54.000000000 +0200
+++ alsa-driver/isa/wavefront/wavefront_synth.c	2008-05-19 01:05:27.000000000 +0200
@@ -7,7 +7,9 @@
 #define __KERNEL_SYSCALLS__
 #include <linux/types.h>
 #include <linux/unistd.h>
+#if 0 /* XXX I don't know what's appropriate here */
 static int errno;
 #endif
+#endif
 
 #include "../../alsa-kernel/isa/wavefront/wavefront_synth.c"

Reply via email to