[alsa-devel] CONFIG_GCD is never defined in the latest alsa-driver

Ozan Çağlayan ozan at pardus.org.tr
Sat Dec 26 11:55:24 CET 2009


Hi,

Compiling the latest alsa-driver with kernel > 2.6.31 results in gcd()
symbol duplication. Although there's a check in configure for
linux/gcd.h, no boolean is adjusted according to that.

In acore/wrappers.c, gcd() is exported if CONFIG_GCD is not defined
which seems always the case for now.

Something like the following fixes the problem for me:

Index: alsa-driver/acore/wrappers.c
===================================================================
--- alsa-driver.orig/acore/wrappers.c
+++ alsa-driver/acore/wrappers.c
@@ -339,7 +339,7 @@ char *compat_skip_spaces(const char *str
 EXPORT_SYMBOL(compat_skip_spaces);
 #endif /* < 2.6.33 */

-#ifndef CONFIG_GCD
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
 /* Greatest common divisor */
 unsigned long gcd(unsigned long a, unsigned long b)
 {
@@ -356,4 +356,4 @@ unsigned long gcd(unsigned long a, unsig
    return b;
 }
 EXPORT_SYMBOL(gcd);
-#endif /* !CONFIG_GCD */
+#endif

Thanks!



More information about the Alsa-devel mailing list