Installation Guide

The liquid DSP library can be easily built from source and is available from several places. The two most typical means of distribution are a compressed archive (a tarball) and cloning the source repository. Tarballs are generated with each stable release and are recommended for users not requiring bleeding edge development. Users wanting the very latest version (in addition to every other version) should clone the liquid Git repository.

Building & Dependencies

The liquid signal processing library was intended to be universally deployable to a number of platforms by eliminating dependencies on external libraries and programs. That being said, liquid still does require a bare minimum build environment to operate. As such the library requires only the following:

  • gcc , the GNU compiler collection (or equivalent)
  • libc , the standard C library
  • libm , the standard math library (eventually will be phased out to optional)

While liquid was designed to be portable, requiring a minimal amount of dependencies, the project will take advantage of other libraries if they are installed on the target machine. These optional packages are:

  • FFTW for computationally efficient fast Fourier transforms
  • libfec for an extended number of forward error-correction codecs (including convolutional and Reed-Solomon)
  • liquid-fpm (liquid fixed-point math library)

The build system checks to see if they are installed during the configure process and will generate an appropriate config.h if they are.

Building from an archive

Download the compressed archive liquid-dsp-<version>.tar.gz to your local machine where <version> denotes the version of the release (e.g. liquid-dsp-1.2.0.tar.gz ). Check the validity of the tarball with the provided MD5 or SHA1 key. Unpack the tarball


$ tar -xvf liquid-dsp-1.2.0.tar.gz

Move into the directory and run the configure script and make the library.


$ cd liquid-dsp-1.2.0/
$ ./configure
$ make
$ sudo make install

Building from the Git repository

Development of liquid uses Git , a free and open-source distributed version control system. The benefits of Git over many other version control systems are numerous and the list is too long to give here; however one of the most important aspects is that each clone holds a copy of the entire repository with a complete history and record of each revision. The main repository for liquid is hosted online by github and can be cloned on your local machine via


$ git clone git://github.com/jgaeddert/liquid-dsp.git

Move into the directory and check out a particular tag using the git checkout command.

Build as before with the archive, but with the additional bootstrapping step.


$ cd liquid-dsp
$ git checkout v1.0.0
$ ./reconf
$ ./configure
$ make
$ sudo make install

Targets

This section lists the specific targets in the main liquid project. A basic list can be printed by invoking " make help " on the command line. This prints the following to the standard output:


all       - build shared library (default)
help      - print list of targets (see documentation for more)
install   - installs the libraries and header files in the host system
uninstall - uninstalls the libraries and header files in the host system
check     - build and run autotest scripts
bench     - build and run all benchmarks
examples  - build all examples binaries
sandbox   - build all sandbox binaries
doc       - build documentation (doc/liquid.pdf)
world     - build absolutely everything
clean     - clean build (objects, dependencies, libraries, etc.)
distclean - removes everything except the originally distributed files