[alsa-devel] Problems with 32 bit apps on 64 bit OS using dmix and snd-ioctl32
James Pearson
james-p at moving-picture.com
Thu Sep 6 13:56:05 CEST 2007
Takashi Iwai wrote:
>
> You shouldn't use --enable-static for the dynamic library.
> Yes, usually it's OK, but alsa-lib has some special handling for
> static binding, so it cannot be built with dynamic lib together.
>
> Thus, for 64bit version,
>
> % ./configure --datadir=/etc --libdir=/usr/lib64
>
> for 32bit version,
>
> % ./configure --datadir=/etc
>
> And make sure that all sound apps are killed once (otherwise the old
> configured dmix instance may remain undead and conflict with the new
> setting).
>
>>Does building alsa-lib depend on the alsa-driver version installed? - as
>>I built the 32 bit version on a 'stock' CentOS4/RHEL4 install that
>>didn't have the alsa-driver 1.0.15rc1 installed - would this make a
>>difference?
>
>
> alsa-lib has backward compatibility, so it should work with the older
> drivers. The kernel ABI is usually kept, but some exceptional cases
> like this timer ioctl changes can be supported only by the newer
> alsa-lib. But, in principle, it's safer to update both alsa-driver
> and alsa-lib.
>
> Also, it's recommended to keep the same version for both 32 and 64bit
> alsa-lib, too, especially about dmix stuff.
Rebuilt alsa-lib 1.0.15rc1 for both 32 and 64 bit as above, installed
and rebooted - however, I still can't get it to play with 32 bit apps -
I still get:
% aplay test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: pcm_write:1268: write error: Invalid argument
dmesg:
ioctl32(aplay:5957): Unknown cmd fd(3) cmd(40045402){00} arg(ffffacb8)
on /dev/snd/timer
ioctl32(aplay:5957): Unknown cmd fd(5) cmd(c008551a){00} arg(0807a140)
on /dev/snd/controlC0
ioctl32(aplay:5957): Unknown cmd fd(5) cmd(c008551b){00} arg(0807a140)
on /dev/snd/controlC0
ioctl32(aplay:5957): Unknown cmd fd(3) cmd(000054a0){00} arg(00000325)
on /dev/snd/timer
Thanks
James Pearson
More information about the Alsa-devel
mailing list