speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ALSA vs LIBAO


From: Chris Brannon
Subject: ALSA vs LIBAO
Date: Mon, 01 Mar 2010 18:04:49 -0600

Steve Holmes wrote:
> On Mon, Mar 01, 2010 at 09:04:18AM +0100, Halim Sahin wrote:
> > You need libao and libasound for building speechd with libao or alsa.
> > Currently speechd doesn't dynamicaly load these shared libraries which
> > results in the fact that all needed libraries must be installed on the
> > running system as well.
> 
> This confuses me now.  Are you saying that speechd links statically to
> these libraries?

Speech Dispatcher doesn't link the audio libraries statically.  Here's
what ldd /usr/lib/speech-dispatcher/libsdaudio.so says:

        linux-gate.so.1 =>  (0xb779e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7766000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb76a1000)
        libao.so.2 => /usr/lib/libao.so.2 (0xb769d000)
        libc.so.6 => /lib/libc.so.6 (0xb7556000)
        /lib/ld-linux.so.2 (0xb779f000)
        libm.so.6 => /lib/libm.so.6 (0xb752f000)
        libdl.so.2 => /lib/libdl.so.2 (0xb752b000)
        librt.so.1 => /lib/librt.so.1 (0xb7522000)

This version of Speech Dispatcher would not work if libasound or libao
were missing.  There's a subtle difference between dynamic linking
and dynamic loading.  Dynamic linking is what we're discussing here.
Dynamic loading would involve the use of dlopen and dlsym to load code
from dynamic libraries at runtime.
Speech Dispatcher's audio subsystem uses dynamic linking,
but not dynamic loading.

So what does all of this mean for you as a packager?  I think that your
best bet may be just to make Speech Dispatcher depend on libao and
alsa-lib.  You may want to use options while invoking ./configure,
to guarantee that those backends are the only ones built with the package.
Since libao can output to ALSA, is it even necessary to include the ALSA
backend?
I hope this makes the situation a little clearer.

-- Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]