Tips on building FluidSynth
Here you will find some information on building FluidSynth on various platforms from the subversion repository.
Ubuntu Linux
These instructions are specifically for Ubuntu 7.10 (Gutsy) but also contains information applicable to other Linux distributions. In particular the package install commands are Ubuntu centric.
Install packages
If your system is not yet setup for building source code you'll want to run the following commands from a shell:
sudo apt-get install build-essential automake libtool sudo apt-get install subversion
Optional functionality can be obtained by installing additional development packages:
sudo apt-get install libasound2-dev # For ALSA drivers (audio output and sequencer) sudo apt-get install lib64asound2-dev # Same as above but for 64 bit systems sudo apt-get install libjack-dev # For Jack audio driver sudo apt-get install lashd lash-bin liblash-dev # For LASH audio application session management support sudo apt-get install libreadline5-dev # Readline command editing at the FluidSynth shell sudo apt-get install lib64readline5-dev # Same as above but for 64 bit systems
Tip: if you want all the development packages needed to build the latest released version of FluidSynth, try:
sudo apt-get build-dep fluidsynth
Checking out from subversion
Run the following command to checkout FluidSynth into a sub directory called fluidsynth:
svn co https://resonance.org/svn/fluidsynth/trunk/fluidsynth
Building the code
Running the following commands will build and install FluidSynth.
cd fluidsynth ./autogen.sh ./configure make sudo make install
Windows
Checkout the source from subversion (as described in the Ubuntu Linux section) or get a source tarball and extract it somewhere.
FluidSynth can be built in Windows either by using Visual Studio, Cygwin or MinGW+MSYS. There are likely other methods as well. It can be cross compiled from Linux too!.
Cygwin
FIXME This needs to be better documented and tested.
Note: It seems that the configure stage of FluidSynth doesn't result in a successful build. This will be remedied in future versions when we switch to using glib as a portability library.
Install Cygwin with the following packages (possibly others as well?):
autoconf automake gcc-mingw-g++ libtool pkg-config readline subversion
Checkout the source from subversion or get a source tarball and put it within the Cygwin environment. Run the same steps as described in the Building the code section of Ubuntu Linux.
Visual Studio
A Visual Studio project file is distributed in the FluidSynth source code.
- Install the glib Dev package from http://www.gtk.org/download-windows.html.
- Install the Microsoft DirectX SDK or alternatively some users have mentioned that the dsound.h header might work from Wine.
- Checkout FluidSynth from subversion or get a source tarball.
- Open the project file at the location: fluidsynth\winbuild\fluidsynth.sln
- Add paths for Glib and dsound dependencies to the project build (includes and libraries)
Some temporary solutions, until properly addressed:
- Edit src/fluid_aufile.c and change #include "config.h" to #include "config_win32.h"
- For the release build: In Project Properties -> Linker -> Input -> Additional Dependencies copy the entry from Debug to Release builds. Do this for both Fluidsynth and Fluidsynth_dll projects.
Build it, at which point you should get a fluidsynth.exe command shell executable and shared FluidSynth library.
MinGW + MSYS
- Install MinGW with g++ support (re-run installed C:\MinGW\MinGW-x.x.x.exe if g++ not installed initially)
- Install MSYS shell environment
- Extract the following packages to C:\MinGW\ from GTK+ Download For Windows:
- pkg-config (Tool binaries)
- glib (Binaries and Dev)
- gettext (Binaries and Dev)
- proxy-libintl
- Obtain dsound.h and copy to C:\MinGW\include from:
- DirectX SDK
- Or try Google Code Search to locate a copy of dsound.h from the DirectX SDK
- Optionally build and install libsndfile (from within MSYS shell):
- Download and extract sources to ~/ for example (C:\MSYS\1.0\home\USER)
- cd ~/libsndfile-x.x.x
- ./configure && make
- If build fails in examples/ do the following:
- cd src && make install
- mkdir /usr/local/lib/pkgconfig
- cp sndfile.pc /usr/local/lib/pkgconfig
- If build didn't fail in examples, just do:
- make install
- If build fails in examples/ do the following:
- Download and extract FluidSynth tarball to ~/ and build (from within MSYS shell):
- export PKG_CONFIG_PATH=/mingw/lib/pkgconfig:/usr/local/lib/pkgconfig
- cd ~/fluidsynth-x.x.x
- ./configure
- make
- make install
Mac OS X
Note: Extracted from the README-OSX supplied by Ebrahim Mayat and distributed with the source code.
Requirements
- "XcodeTools.mpkg","DevSDK.pkg", "CoreAudioSDK.pkg" packages (The Tiger Install DVD).
- Fink installation <http://fink.sourceforge.net>
- libgnugetopt-1.2, readline-4.3, ladspa-1.12 and ladspa-cmt-1.15 from fink: e.g. "fink install libgnugetopt"
- midishare-1.92-macosx <http://midishare.sourceforge.net>
- Jack OSX version 0.74 <http://www.jackosx.com>
- Edit the "/usr/local/lib/pkgconfig/jack.pc" file using your favorite Unix editor and in the "Libs" line, replace "ljack" with "-framework Jack"
- cd to the fluidsynth directory and in the configure script, substitute "-lmidishare" with "-framework MidiShare".
- Run configure with the following options (all on one line in a text editor, then copy and paste into Terminal):
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --enable-midishare --disable-lash
This should result in
************************************************************** Summary: ALSA: no OSS: no MidiShare: yes JACK: yes CoreAudio: yes LADSPA support: no LASH support: no LADCCA support: no Readline: no Debug: yes Profiling: no **************************************************************
- As root run:
make && make install
Solaris / OpenSolaris?
This platform is not officially supported, but it seems like just a small patch is needed for FluidSynth 1.0.9 to build correctly on this platform. See #52 for a link to this patch. After the patch is applied, you should rund autogen.sh.
