ALSA library installation ========================= Installation from tarball ------------------------- For installation you can use these commands: ./configure make install Compilation from HG sources --------------------------- You need also GNU packages automake and libtool installed in your system to compile HG (Mercurial) sources of alsa-lib package. For compilation you can use these commands: libtoolize --force --copy --automake aclocal autoheader automake --foreign --copy --add-missing autoconf ./configure make The included hgcompile script does this job for you. Note: Some automake packages have missing aclocal program. Use newer version in the case. Compilation of static library ----------------------------- If you would like to use the static ALSA library, you need to use these options for the configure script: ./configure --enable-shared=no --enable-static=yes Unfortunately, due to bug in the libtool script, the shared and static library cannot be built together. Partial Builds -------------- You can choose the core components to build via --enable-* or --disable-* configure option for reducing the size of libasound. The selectable components are: pcm, mixer, rawmidi, hwdep, seq and instr. For example, --disable-rawmidi will prevent to build the stuff related with raw MIDI. As default, all components are enabled. The PCM plugins to build can be selected via --with-pcm-plugins configure option. Multiple plugins can be passed by separation with comma. For example, to select _only_ rate and linear plugins (and disable other plugins), pass --with-pcm-plugins=rate,linear Note that "hw" plugin is always enabled. Passing "all" will select all available plugins (which is the default behavior). When you select "plug" plugin, copy and linear plugins will be automatically selected, too. That is, the linear-format and access-type conversions are always available with plug layer. The other conversions of plug (channel shrink/expansion, rate, non-linear and float conversions) are enabled when the corresponding plugin is selected, too. Configuration for cross-compilation ----------------------------------- When you would like to cross-compile ALSA library (e.g. compile on i686 host but for arm architecture) you will need to call ./configure script with additional parameters: CC=arm-linux-gcc ./configure --target=arm-linux In this example host where the library is build is guessed (should be given with --host=platform) and target for which is the library build is Linux on ARM architecture. You should omit setting 'CC' variable and cross-compiler will be guessed too. So simplest version would be: ./configure --target=arm-linux For platform names in the form cpu-vendor-os (or aliases for this) you should look in 'config.guess' script. Target and all paths used here are only examples and should not be directly applicable to your system. Configuration for machines without FPU -------------------------------------- If your machine does not have FP unit, you should use '--with-softfloat' option. This option disables usage of float numbers in PCM route plugin. ALSA could then leave much more CPU cycles for your applications, but you could still need some floating point emulator. Jack plugin ----------- JACK plugin is moved to alsa-plugins package. Trouble Shooting ---------------- * Install path on Fedora Core 3 FC3 installs its system ALSA library to /lib instead of /usr/lib. Specify --libdir=/lib to configure to overwrite it with the new library, or run like # ln -sf /usr/lib/libasound.so.2.0.0 /lib/libasound.so.2.0.0 to make symlink to the new path. Note that /lib might be /lib64 on 64bit architecture.