[alsa-devel] Problems with 32 bit apps on 64 bit OS using dmix and snd-ioctl32
Takashi Iwai
tiwai at suse.de
Wed Sep 5 17:23:52 CEST 2007
At Wed, 05 Sep 2007 15:38:33 +0100,
James Pearson wrote:
>
> Takashi Iwai wrote:
> >>So, what is the danger of using these 'disabled' ioctls?
> >>
> >>I can't find any reference to 'TCOC* definitions' - what are these ???
> >
> >
> > A typo of TIOC* or TC*. They are defined in asm-*/ioctls.h.
> >
> > These are used for syscalls like fcntl(). Thus, it's indeed dangerous
> > to define these.
> >
> > Can't you build the new alsa-driver with old kernel? Then, together
> > with the new alsa-lib, the problem should go away.
>
> I can't build either alsa-driver 1.0.14 or 1.0.15rc1 - they bomb out with:
>
> CC [M] /tmp/alsa-driver-1.0.15rc1/misc/ac97_bus.o
> In file included from /tmp/alsa-driver-1.0.15rc1/misc/ac97_bus.c:1:
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:30: error:
> syntax error before "pm_message_t"
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:31: warning:
> function declaration isn't a prototype
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c: In function
> `ac97_bus_suspend':
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:34: error:
> `dev' undeclared (first use in this function)
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:34: error:
> (Each undeclared identifier is reported only once
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:34: error: for
> each function it appears in.)
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:35: error:
> `state' undeclared (first use in this function)
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c: In function
> `ac97_bus_resume':
> /tmp/alsa-driver-1.0.15rc1/misc/../alsa-kernel/ac97_bus.c:45: error: too
> few arguments to function
> make[4]: *** [/tmp/alsa-driver-1.0.15rc1/misc/ac97_bus.o] Error 1
>
> However, even if I could build 1.0.14/15rc1, I'm not sure if they would
> help - as I think the important output from the configure script
> (alsa-driver 1.0.13 and above) is:
>
> checking for new unlocked/compat_ioctl... no
>
> and in include/config.h:
>
> /* #undef CONFIG_SND_HAVE_NEW_IOCTL */
>
> So, as far as I can tell, means that I have to use the snd-ioctl32
> module, which has the problems I originally described.
>
> Is this correct?
No, this is perfectly OK. The problem isn't that you use snd-ioctl32
module but that the driver is still old and it doesn't accept the new
defined ioctls. The later version of alsa-driver uses the newer
ioctls so that they don't conflict even on snd-ioctl32 module.
The right solution is to get the latest alsa-driver working on your
system. I guess the build problem above is very specific to RedHat.
Unfortunately, I can't help much because I have little clue about
funny RedHat modifications. The error implies, however, some
configure mismatch. Maybe showing the configure output would help a
little bit to know what's happening there...
Takashi
More information about the Alsa-devel
mailing list