Introduction to Libao

The libao package contains a cross-platform audio library. This is useful to output audio on a wide variety of platforms. It currently supports WAV files, OSS (Open Sound System), ESD (Enlighten Sound Daemon), ALSA (Advanced Linux Sound Architecture), NAS (Network Audio system), aRTS (analog Real-Time Synthesizer), and PulseAudio (next generation GNOME sound architecture).



Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Libao Dependencies


a graphical environment, alsa-lib-1.2.12, and PulseAudio-17.0

Installation of Libao

First, fix a gcc-14 issue:

sed -i '/limits.h/a #include <time.h>' src/plugins/pulse/ao_pulse.c

Install libao by running the following commands:

./configure --prefix=/usr &&

This package does not come with a test suite.

Now, as the root user:

make install &&
install -v -m644 README /usr/share/doc/libao-1.2.0

Configuring Libao

Config Files

/etc/libao.conf and ~/.libao

Configuration Information

Currently, the only configuration option available is setting the default output device. Issue man libao.conf for details.


Installed Programs: None
Installed Libraries: and plugins under /usr/lib/ao/plugins-4
Installed Directories: /usr/include/ao, /usr/lib/ao and /usr/share/doc/libao-1.2.0

Short Descriptions

provides functions for programs wishing to output sound over supported platforms