Hi.
I recently wrote ALSA PCM and seq support for BRLTTY[1].
However, the fact that libasound.so.2 lives in /usr/lib does
present a little problem for us. BRLTTY needs to be run as
early as possible during startup, most likely before /usr is
even mounted. Linking against -lasound the traditional way therefore is quite
a bug, since the executable now doesn't start anymore if
/usr is missing.
We've solved this now by dlopen() and dlsym()'ing all the
symbols we actually need, and call our private function pointers instead
of the real library symbols. However, this solution is kind
of icky. At the same time, we wrote support for QNX, which
seems to have a early fork of ALSA as the QNX Sound Architecture (also
called libasound). QNX apparently already puts its
libasound.so in /lib, most probably because of this
problem.
I'd like to ask the community what you think about
moving libasound from /usr/lib/ to /lib/? With OSS, that
wasn't a problem at all, since the ioctl calls were simple
enough that there is/was no need for a wrapper lib. But
since ALSA kind of relies on that, wouldn't it make more
sense to have the lib in /lib so that early boot programs
can output sound too?
--
CYa,
Mario