[alsa-devel] 1.0.16rc2
Hi,
1.0.16rc2 alsa-driver, alsa-lib, pyalsa packages are available for download. Full changelog from 1.0.16rc1 is on:
http://www.alsa-project.org/main/index.php/Changes_v1.0.16rc1_v1.0.16rc2
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
Hi,
I get the following compile error:
make[1]: Entering directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' gcc -D__KERNEL__ -DMODULE=1 -I/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include -I/lib/modules/2.4.21-99-athlon/build/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 /lib/modules/2.4.21-99-athlon/build/include/linux/modversions.h -DEXPORT_SYMTAB -c hwdep.c In file included from hwdep.c:1: /usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include/adriver.h:1461: error: redefinition of `__ffs' /lib/modules/2.4.21-99-athlon/build/include/asm/bitops.h:410: error: `__ffs' previously defined here make[1]: *** [hwdep.o] Error 1 make[1]: Leaving directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' make: *** [compile] Error 1
I have pasted several lines so you can see the context. This wasn't a problem in 1.0.14; I haven't compiled since then.
Alan
At Wed, 30 Jan 2008 10:09:15 +0000, Alan Horstmann wrote:
Hi,
I get the following compile error:
make[1]: Entering directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' gcc -D__KERNEL__ -DMODULE=1 -I/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include -I/lib/modules/2.4.21-99-athlon/build/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 /lib/modules/2.4.21-99-athlon/build/include/linux/modversions.h -DEXPORT_SYMTAB -c hwdep.c In file included from hwdep.c:1: /usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include/adriver.h:1461: error: redefinition of `__ffs' /lib/modules/2.4.21-99-athlon/build/include/asm/bitops.h:410: error: `__ffs' previously defined here make[1]: *** [hwdep.o] Error 1 make[1]: Leaving directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' make: *** [compile] Error 1
I have pasted several lines so you can see the context. This wasn't a problem in 1.0.14; I haven't compiled since then.
Could you apply the patch below and use ./hgcompile to configure?
thanks,
Takashi
---
diff -r e600ecb8fbd7 configure.in --- a/configure.in Wed Jan 30 08:36:00 2008 +0100 +++ b/configure.in Wed Jan 30 12:22:56 2008 +0100 @@ -2597,6 +2597,37 @@ if test "$CONFIG_HAVE_INIT_UTSNAME" = "1 AC_DEFINE(CONFIG_HAVE_INIT_UTSNAME) fi
+dnl __ffs support? +if test "$kversion.$kpatchlevel" = "2.6"; then + CONFIG_HAVE_FFS=1 +else + AC_MSG_CHECKING(for __ffs) + init_utsname="0" + ac_save_CFLAGS="$CFLAGS" + ac_save_CC="$CC" + CFLAGS="$KERNEL_CHECK_CFLAGS" + CC=$KCC + AC_TRY_COMPILE([ +#define __KERNEL__ +#include <linux/config.h> +#include <linux/bitops.h> +],[ + unsigned long (*x)(unsigned long); + x = __ffs; +], + AC_MSG_RESULT(yes);have_ffs="1", + AC_MSG_RESULT(no);have_ffs="0", + AC_MSG_RESULT(unknown);have_ffs="0" +) + CFLAGS=$ac_save_CFLAGS + CC=$ac_save_CC + CONFIG_HAVE_FFS=$have_ffs +fi +dnl AC_SUBST(CONFIG_HAVE_FFS) +if test "$CONFIG_HAVE_FFS" = "1"; then + AC_DEFINE(CONFIG_HAVE_FFS) +fi + dnl PnP supports suspend/resume? if test "$CONFIG_PNP_KERNEL" = "y"; then AC_MSG_CHECKING(for PnP suspend/resume) diff -r e600ecb8fbd7 include/adriver.h --- a/include/adriver.h Wed Jan 30 08:36:00 2008 +0100 +++ b/include/adriver.h Wed Jan 30 12:22:56 2008 +0100 @@ -1455,7 +1455,7 @@ static inline unsigned char snd_pci_revi #endif #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 3) +#ifndef CONFIG_HAVE_FFS #if defined(__i386__) static inline unsigned long __ffs(unsigned long word) { diff -r e600ecb8fbd7 include/config.h.in --- a/include/config.h.in Wed Jan 30 08:36:00 2008 +0100 +++ b/include/config.h.in Wed Jan 30 12:22:56 2008 +0100 @@ -44,6 +44,7 @@ #undef CONFIG_HAVE_TTY_COUNT_ATOMIC #undef CONFIG_HAVE_VIDEO_GET_DRVDATA #undef CONFIG_HAVE_DUMP_STACK +#undef CONFIG_HAVE_FFS
/* 2.2 kernels */ #undef CONFIG_OLD_KILL_FASYNC
On Wednesday 30 January 2008 11:21, Takashi wrote:
At Wed, 30 Jan 2008 10:09:15 +0000,
Alan Horstmann wrote:
I get the following compile error:
/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include/adriver.h:1461: error: redefinition of `__ffs' /lib/modules/2.4.21-99-athlon/build/include/asm/bitops.h:410: error: `__ffs' previously defined here make[1]: *** [hwdep.o] Error 1 make[1]: Leaving directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' make: *** [compile] Error 1
Could you apply the patch below and use ./hgcompile to configure?
thanks,
Takashi
Patch applied OK. Unfortunately, hgcompile complains that the Autoconf version is too old on this system -needs >2.59 (looks like I have 1.4o). What is the difference using that rather than straight configure? Is there a way to work round it?
Alan
diff -r e600ecb8fbd7 configure.in --- a/configure.in Wed Jan 30 08:36:00 2008 +0100 +++ b/configure.in Wed Jan 30 12:22:56 2008 +0100 @@ -2597,6 +2597,37 @@ if test "$CONFIG_HAVE_INIT_UTSNAME" = "1 AC_DEFINE(CONFIG_HAVE_INIT_UTSNAME) fi
+dnl __ffs support? +if test "$kversion.$kpatchlevel" = "2.6"; then
- CONFIG_HAVE_FFS=1
+else
- AC_MSG_CHECKING(for __ffs)
- init_utsname="0"
- ac_save_CFLAGS="$CFLAGS"
- ac_save_CC="$CC"
- CFLAGS="$KERNEL_CHECK_CFLAGS"
- CC=$KCC
- AC_TRY_COMPILE([
+#define __KERNEL__ +#include <linux/config.h> +#include <linux/bitops.h> +],[
- unsigned long (*x)(unsigned long);
- x = __ffs;
+],
- AC_MSG_RESULT(yes);have_ffs="1",
- AC_MSG_RESULT(no);have_ffs="0",
- AC_MSG_RESULT(unknown);have_ffs="0"
+)
- CFLAGS=$ac_save_CFLAGS
- CC=$ac_save_CC
- CONFIG_HAVE_FFS=$have_ffs
+fi +dnl AC_SUBST(CONFIG_HAVE_FFS) +if test "$CONFIG_HAVE_FFS" = "1"; then
- AC_DEFINE(CONFIG_HAVE_FFS)
+fi
dnl PnP supports suspend/resume? if test "$CONFIG_PNP_KERNEL" = "y"; then AC_MSG_CHECKING(for PnP suspend/resume) diff -r e600ecb8fbd7 include/adriver.h --- a/include/adriver.h Wed Jan 30 08:36:00 2008 +0100 +++ b/include/adriver.h Wed Jan 30 12:22:56 2008 +0100 @@ -1455,7 +1455,7 @@ static inline unsigned char snd_pci_revi #endif #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 3) +#ifndef CONFIG_HAVE_FFS #if defined(__i386__) static inline unsigned long __ffs(unsigned long word) { diff -r e600ecb8fbd7 include/config.h.in --- a/include/config.h.in Wed Jan 30 08:36:00 2008 +0100 +++ b/include/config.h.in Wed Jan 30 12:22:56 2008 +0100 @@ -44,6 +44,7 @@ #undef CONFIG_HAVE_TTY_COUNT_ATOMIC #undef CONFIG_HAVE_VIDEO_GET_DRVDATA #undef CONFIG_HAVE_DUMP_STACK +#undef CONFIG_HAVE_FFS
/* 2.2 kernels */ #undef CONFIG_OLD_KILL_FASYNC
At Wed, 30 Jan 2008 12:41:46 +0000, Alan Horstmann wrote:
On Wednesday 30 January 2008 11:21, Takashi wrote:
At Wed, 30 Jan 2008 10:09:15 +0000,
Alan Horstmann wrote:
I get the following compile error:
/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/include/adriver.h:1461: error: redefinition of `__ffs' /lib/modules/2.4.21-99-athlon/build/include/asm/bitops.h:410: error: `__ffs' previously defined here make[1]: *** [hwdep.o] Error 1 make[1]: Leaving directory `/usr/share/alsa1.0.16rc2/alsa-driver-1.0.16rc2/acore' make: *** [compile] Error 1
Could you apply the patch below and use ./hgcompile to configure?
thanks,
Takashi
Patch applied OK. Unfortunately, hgcompile complains that the Autoconf version is too old on this system -needs >2.59 (looks like I have 1.4o). What is the difference using that rather than straight configure?
You need to regenerate the configure script itself.
Is there a way to work round it?
Remove the line "AC_PREREQ(2.59)" in configure.in.
Takashi
On Wednesday 30 January 2008 13:03, you wrote:
At Wed, 30 Jan 2008 12:41:46 +0000,
Alan Horstmann wrote:
On Wednesday 30 January 2008 11:21, Takashi wrote:
Could you apply the patch below and use ./hgcompile to configure?
thanks,
Takashi
Patch applied OK. Unfortunately, hgcompile complains that the Autoconf version is too old on this system -needs >2.59 (looks like I have 1.4o). What is the difference using that rather than straight configure?
You need to regenerate the configure script itself.
Is there a way to work round it?
Remove the line "AC_PREREQ(2.59)" in configure.in.
Thanks. However, I could not get (the old) autoconf to produce a working configure script due to 'AS_HELP_STRING', so I added #define CONFIG_HAVE_FFS to the patched adriver.h and used the original configure script, to proceed for now (which it did).
Unfortunately make didn't get much further, having more ??historic kernel?? trouble in memalloc:
memalloc.c: In function `snd_mem_proc_open': memalloc.c:611: warning: implicit declaration of function `single_open' memalloc.c: At top level: memalloc.c:715: error: `single_release' undeclared here (not in a function) memalloc.c:715: error: initializer element is not constant memalloc.c:715: error: (near initialization for `snd_mem_proc_fops.release') memalloc.c: In function `snd_mem_init': memalloc.c:731: warning: assignment discards qualifiers from pointer target type
Sorry if this is causing a lot of extra trouble.
Regards Alan
At Wed, 30 Jan 2008 21:03:45 +0000, Alan Horstmann wrote:
On Wednesday 30 January 2008 13:03, you wrote:
At Wed, 30 Jan 2008 12:41:46 +0000,
Alan Horstmann wrote:
On Wednesday 30 January 2008 11:21, Takashi wrote:
Could you apply the patch below and use ./hgcompile to configure?
thanks,
Takashi
Patch applied OK. Unfortunately, hgcompile complains that the Autoconf version is too old on this system -needs >2.59 (looks like I have 1.4o). What is the difference using that rather than straight configure?
You need to regenerate the configure script itself.
Is there a way to work round it?
Remove the line "AC_PREREQ(2.59)" in configure.in.
Thanks. However, I could not get (the old) autoconf to produce a working configure script due to 'AS_HELP_STRING', so I added #define CONFIG_HAVE_FFS to the patched adriver.h and used the original configure script, to proceed for now (which it did).
Unfortunately make didn't get much further, having more ??historic kernel?? trouble in memalloc:
memalloc.c: In function `snd_mem_proc_open': memalloc.c:611: warning: implicit declaration of function `single_open' memalloc.c: At top level: memalloc.c:715: error: `single_release' undeclared here (not in a function) memalloc.c:715: error: initializer element is not constant memalloc.c:715: error: (near initialization for `snd_mem_proc_fops.release') memalloc.c: In function `snd_mem_init': memalloc.c:731: warning: assignment discards qualifiers from pointer target type
Then the patch below should work. Give it a try.
Takashi
---
diff -r e600ecb8fbd7 acore/memalloc.patch --- a/acore/memalloc.patch Wed Jan 30 08:36:00 2008 +0100 +++ b/acore/memalloc.patch Thu Jan 31 12:39:11 2008 +0100 @@ -189,7 +189,7 @@
#ifdef CONFIG_PROC_FS -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) /* * proc file interface */ @@ -205,7 +205,7 @@ static int __init snd_mem_init(void) { #ifdef CONFIG_PROC_FS -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) snd_mem_proc = create_proc_entry(SND_MEM_PROC_FILE, 0644, NULL); if (snd_mem_proc) snd_mem_proc->proc_fops = &snd_mem_proc_fops; @@ -216,7 +216,7 @@
static void __exit snd_mem_exit(void) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) remove_proc_entry(SND_MEM_PROC_FILE, NULL); +#endif free_all_reserved_pages();
On Thursday 31 January 2008 11:38, you wrote:
At Wed, 30 Jan 2008 21:03:45 +0000,
Alan Horstmann wrote:
Unfortunately make didn't get much further, having more ??historic kernel?? trouble in memalloc:
memalloc.c: In function `snd_mem_proc_open': memalloc.c:611: warning: implicit declaration of function `single_open' memalloc.c: At top level: memalloc.c:715: error: `single_release' undeclared here (not in a function) memalloc.c:715: error: initializer element is not constant memalloc.c:715: error: (near initialization for `snd_mem_proc_fops.release') memalloc.c: In function `snd_mem_init': memalloc.c:731: warning: assignment discards qualifiers from pointer target type
Then the patch below should work. Give it a try.
Yup, that nailed it! Make completes OK now, thanks.
I applied the memalloc.patch patch by hand. If this is to be applied, notice that Line 200 #endif text string also presumably needs changing.
Alsa-lib was OK, but the configure was slightly messy in reporting 'python-config' Command not found before a more reasonable message and disabling python from the build.
If both the patches are to be applied, would you like me to retest the nightly build at some stage(which presumably won't need hgcompile)? If so can you give the link again.
Thanks
Alan
diff -r e600ecb8fbd7 acore/memalloc.patch --- a/acore/memalloc.patch Wed Jan 30 08:36:00 2008 +0100 +++ b/acore/memalloc.patch Thu Jan 31 12:39:11 2008 +0100 @@ -189,7 +189,7 @@
#ifdef CONFIG_PROC_FS -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) /*
- proc file interface
*/ @@ -205,7 +205,7 @@ static int __init snd_mem_init(void) { #ifdef CONFIG_PROC_FS -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) snd_mem_proc = create_proc_entry(SND_MEM_PROC_FILE, 0644, NULL); if (snd_mem_proc) snd_mem_proc->proc_fops = &snd_mem_proc_fops; @@ -216,7 +216,7 @@
static void __exit snd_mem_exit(void) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) remove_proc_entry(SND_MEM_PROC_FILE, NULL); +#endif free_all_reserved_pages();
On Tue, 29 Jan 2008 15:54:54 +0100 (CET) Jaroslav Kysela perex@perex.cz wrote:
Hi,
1.0.16rc2 alsa-driver, alsa-lib, pyalsa packages are available for download. Full changelog from 1.0.16rc1 is on:
http://www.alsa-project.org/main/index.php/Changes_v1.0.16rc1_v1.0.16rc2
I have a little compile problem. It seems that the configure script of alsa-lib isn't able to locate the directory with the Python headers. I have to either disable python support, or do "export CFLAGS=-I/usr/include/python2.4".
-- Giuliano.
At Thu, 31 Jan 2008 23:38:48 +0000, Giuliano Pochini wrote:
On Tue, 29 Jan 2008 15:54:54 +0100 (CET) Jaroslav Kysela perex@perex.cz wrote:
Hi,
1.0.16rc2 alsa-driver, alsa-lib, pyalsa packages are available for download. Full changelog from 1.0.16rc1 is on:
http://www.alsa-project.org/main/index.php/Changes_v1.0.16rc1_v1.0.16rc2
I have a little compile problem. It seems that the configure script of alsa-lib isn't able to locate the directory with the Python headers. I have to either disable python support, or do "export CFLAGS=-I/usr/include/python2.4".
Does --with-pythonincludes=/usr/include/python2.4 work? Usually /usr/include/python is a symlink to python$VERSION directory.
Takashi
On Fri, 01 Feb 2008 10:57:01 +0100 Takashi Iwai tiwai@suse.de wrote:
I have a little compile problem. It seems that the configure script of alsa-lib isn't able to locate the directory with the Python headers. I have to either disable python support, or do "export CFLAGS=-I/usr/include/python2.4".
Does --with-pythonincludes=/usr/include/python2.4 work?
Yes, of course.
Usually /usr/include/python is a symlink to python$VERSION directory.
No, the bug was in the python-config script.
-- Giuliano.
participants (4)
-
Alan Horstmann
-
Giuliano Pochini
-
Jaroslav Kysela
-
Takashi Iwai