[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 
> 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


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


James Pearson

More information about the Alsa-devel mailing list