Hello soosho:

I ran into the same problem yesterday.  I grabbed the needed function from a website and stuck it into the file in error and was able to compile.  The function is below.  This is a "hack" and only a temporary fix until somebody with more alsa experience jumps into the fray with a better suggestion.

#ifndef _LINUX_CTYPE_H
#define _LINUX_CTYPE_H

/*
 * NOTE! This ctype does not handle EOF like the standard C
 * library is required to.
 */

#define _U      0x01    /* upper */
#define _L      0x02    /* lower */
#define _D      0x04    /* digit */
#define _C      0x08    /* cntrl */
#define _P      0x10    /* punct */
#define _S      0x20    /* white space (space/lf/tab) */
#define _X      0x40    /* hex digit */
#define _SP     0x80    /* hard space (0x20) */

extern unsigned char _ctype[];

#define __ismask(x) (_ctype[(int)(unsigned char)(x)])

#define isalnum(c)      ((__ismask(c)&(_U|_L|_D)) != 0)
#define isalpha(c)      ((__ismask(c)&(_U|_L)) != 0)
#define iscntrl(c)      ((__ismask(c)&(_C)) != 0)
#define isdigit(c)      ((__ismask(c)&(_D)) != 0)
#define isgraph(c)      ((__ismask(c)&(_P|_U|_L|_D)) != 0)
#define islower(c)      ((__ismask(c)&(_L)) != 0)
#define isprint(c)      ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
#define ispunct(c)      ((__ismask(c)&(_P)) != 0)
#define isspace(c)      ((__ismask(c)&(_S)) != 0)
#define isupper(c)      ((__ismask(c)&(_U)) != 0)
#define isxdigit(c)     ((__ismask(c)&(_D|_X)) != 0)

#define isascii(c) (((unsigned char)(c))<=0x7f)
#define toascii(c) (((unsigned char)(c))&0x7f)

static inline unsigned char __tolower(unsigned char c)
{
        if (isupper(c))
                c -= 'A'-'a';
        return c;
}

static inline unsigned char __toupper(unsigned char c)
{
        if (islower(c))
                c -= 'a'-'A';
        return c;
}

#define tolower(c) __tolower(c)
#define toupper(c) __toupper(c)

#endif

/* Works only for digits and letters, but small and fast */
#define TOLOWER(x) ((x) | 0x20)

/**
 * strict_strtoul - convert a string to an unsigned long
 * @cp: The start of the string
 * @endp: A pointer to the end of the parsed string will be placed here
 * @base: The number base to use
 */
unsigned long strict_strtoul(const char *cp, unsigned int base, unsigned long *val)
{
        unsigned long result = 0,value;

        if (!base) {
                base = 10;
                if (*cp == '0') {
                        base = 8;
                        cp++;
                        if ((TOLOWER(*cp) == 'x') && isxdigit(cp[1])) {
                                cp++;
                                base = 16;
                        }
                }
        } else if (base == 16) {
                if (cp[0] == '0' && TOLOWER(cp[1]) == 'x')
                        cp += 2;
        }
        while (isxdigit(*cp) &&
               (value = isdigit(*cp) ? *cp-'0' : TOLOWER(*cp)-'a'+10) < base) {
                result = result*base + value;
                cp++;
        }

        if (val)
        *val = result;

        return result;
}

Best Regards,

Rob
soosho wrote:
Hi All,

Thanks a lot for the mailing list.

I've just downloaded an Alsa package and confronted the following error
during the compilation.

Could anybody help, please?

Or at least does anybody know exactly, what is the meaning of the
following error message, plz?

Any help would be appreciated!

Regards,

Soosho

==========================================================================================
[root@localhost alsa-driver-1.0.17]# make
make dep
make[1]: Entering directory `/home/soosho/tmp/alsa/alsa-driver-1.0.17'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/ioctl32'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/ioctl32'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/oss'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/oss'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/seq'
make[4]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/seq/oss'
make[4]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/seq/oss'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore/seq'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/acore'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c/l3'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c/l3'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c/other'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c/other'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/i2c'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/mpu401'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/mpu401'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/opl3'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/opl3'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/opl4'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/opl4'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/pcsp'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/pcsp'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/vx'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers/vx'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/drivers'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/ad1816a'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/ad1816a'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/ad1848'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/ad1848'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/cs423x'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/cs423x'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/es1688'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/es1688'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/gus'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/gus'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/msnd'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/msnd'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/opti9xx'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/opti9xx'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/sb'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/sb'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/wavefront'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa/wavefront'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/isa'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/synth'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/synth/emux'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/synth/emux'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/synth'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ac97'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ac97'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ali5451'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ali5451'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/asihpi'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/asihpi'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/au88x0'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/au88x0'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/aw2'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/aw2'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ca0106'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ca0106'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/cs46xx'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/cs46xx'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/cs5535audio'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/cs5535audio'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/echoaudio'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/echoaudio'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/emu10k1'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/emu10k1'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/hda'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/hda'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ice1712'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ice1712'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/korg1212'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/korg1212'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/mixart'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/mixart'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/nm256'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/nm256'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/oxygen'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/oxygen'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/pcxhr'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/pcxhr'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/pdplus'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/pdplus'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/riptide'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/riptide'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/rme9652'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/rme9652'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/trident'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/trident'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/vx222'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/vx222'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ymfpci'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci/ymfpci'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pci'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/codecs'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/codecs'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/core'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/core'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/fabrics'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/fabrics'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/soundbus'
make[4]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/soundbus/i2sbus'
make[4]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/soundbus/i2sbus'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa/soundbus'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/aoa'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/at32'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/at32'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/at91'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/at91'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/au1x'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/au1x'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/codecs'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/codecs'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/davinci'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/davinci'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/fsl'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/fsl'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/omap'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/omap'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/pxa'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/pxa'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/s3c24xx'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/s3c24xx'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/sh'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/sh'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb/caiaq'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb/caiaq'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb/usx2y'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb/usx2y'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/usb'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia/pdaudiocf'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia/pdaudiocf'
make[3]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia/vx'
make[3]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia/vx'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/pcmcia'
make[2]: Entering directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/misc'
make[2]: Leaving directory
`/home/soosho/tmp/alsa/alsa-driver-1.0.17/misc'
make[1]: Leaving directory `/home/soosho/tmp/alsa/alsa-driver-1.0.17'
make -C /lib/modules/2.6.24.4-desktop-1mnb/source
SUBDIRS=/home/soosho/tmp/alsa/alsa-driver-1.0.17  CPP="gcc -E" CC="gcc"
modules
make[1]: Entering directory `/usr/src/linux-2.6.24.4-desktop-1mnb'
  CC [M]  /home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/soc-dapm.o
In file included from
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/soc-dapm.c:2:
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:
In function ‘dapm_pop_time_store’:
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:834:
error: implicit declaration of function ‘strict_strtoul’
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:
At top level:
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:1043:
warning: ‘snd_soc_dapm_connect_input’ is deprecated (declared at
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:1040)
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:1043:
warning: ‘snd_soc_dapm_connect_input’ is deprecated (declared at
/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/../alsa-kernel/soc/soc-dapm.c:1040)
make[3]: *** [/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc/soc-dapm.o]
Error 1
make[2]: *** [/home/soosho/tmp/alsa/alsa-driver-1.0.17/soc] Error 2
make[1]: *** [_module_/home/soosho/tmp/alsa/alsa-driver-1.0.17] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.24.4-desktop-1mnb'
make: *** [compile] Error 2
[root@localhost alsa-driver-1.0.17]#
  


--
Rob Krakora
Software Engineer
MessageNet Systems
101 East Carmel Dr. Suite 105
Carmel, IN 46032
(317)566-1677 Ext. 206
(317)663-0808 Fax