[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 18:11:44 CEST 2007
At Wed, 05 Sep 2007 16:36:10 +0100,
James Pearson wrote:
>
> Takashi Iwai wrote:
> > 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...
>
> OK, I'll do a bit more poking about to see if I can get 1.0.15rc1 to
> build ...
>
> Thanks
>
> James Pearson
>
> Configure output:
>
> # ./configure --with-redhat=yes
The output looks OK to me.
Does the patch (to alsa-driver tree) fix the problem?
Takashi
diff -r adfe4179d670 misc/ac97_bus.c
--- a/misc/ac97_bus.c Fri Aug 31 12:22:35 2007 +0200
+++ b/misc/ac97_bus.c Wed Sep 05 18:09:42 2007 +0200
@@ -1,1 +1,3 @@
+#include <sound/driver.h>
+#include <sound/core.h>
#include "../alsa-kernel/ac97_bus.c"
More information about the Alsa-devel
mailing list