Compiling from source
Building FreeMix is not difficult by itself, but as the project is divided into several interdependent modules and depends on a number of external libraries many things can possibly go wrong.
First of all you need to satisfy the needed dependencies. You'll not only need the following packages, but also their development parts (usually they're called the same as the runtime packages, with a -dev added to their name). The configure scripts will usually tell you if it can't find something it needs before building the module.
Dependencies
Most recent distributions (starting from Fedora Core 5, Ubuntu 6.06 Dapper Drake or Debian Etch) which features GNOME should ship these packages in their repositories.
For every module:
- GLib 2.0, version 2.6 or newer, available from http://www.gtk.org
For fm_server:
- GStreamer 0.10, any recent version, available from http://www.gstreamer.net
- JACK, version 0.100 or later, available from http://www.jackaudio.org (optional but recommended)
- the ALSA userspace library (libasound), available from http://www.alsa-project.org (optional, Linux only)
- libsamplerate, any recent version, available from http://www.mega-nerd.com/SRC
For fm_gui:
- GTK+ 2.0, version 2.6 or newer, available from http://www.gtk.org
- libglade 2.0, version 2.6 or newer, available from http://glade.gnome.org
Build order
You'll need to build the modules and install them in the following order:
rgc fm_server fm_tools fm_gui
As most other software packages, they install by default to /usr/local. This can be changed by passing the --prefix argument to their configure scripts. If you're installing them to a prefix different from /usr, or if you're not using the --prefix argument at all, you'll need to set the environment variable PKG_CONFIG_PATH pointing to the correct prefix.
Build instruction
First of all, choose a directory to install into (we'll call it MY_DIRECTORY. You don't need to be root to compile FreeMix, just write permissions to that directory.
Before starting, you'll need to set the correct pkg-config data directory
export PKG_CONFIG_PATH=MY_DIRECTORY/lib/pkgconfig
Then, for each of the module you're interested in, go into the source directory of the module and do the usual
./configure --prefix=MY_DIRECTORY make make install
The executable files needed to start the program will be installed to MY_DIRECTORY/bin .
