Windows Build Instructions   msys logo   HOWTO by Andreas Persson


July 17th, 2012

1.  Introduction
2.  MinGW
3.  gcc
4.  pkg-config
5.  gtkmm
6.  ASIO SDK
7.  VST SDK
8.  intltool
9.  xsltproc
10.  MSYS setup
11.  Building SQLite
12.  Building libsndfile
13.  Building libgig
14.  Building linuxsampler
15.  Building gigedit

1.  Introduction

This page contains instructions for building libgig, linuxsampler and gigedit on Windows with help of MinGW and MSYS. After the MinGW and MSYS environment and the other prerequisites are installed, the build procedure will be the same as in Linux, that is, basically: ./configure ; make ; make install.

The versions of the files to download are just the ones I used when last updating this text. You can probably use later ones if available.

Some of the instructions below are marked with ***:

*** = only needed if you are going to build gigedit

2.  MinGW

Download the MinGW installer, mingw-get-inst-20120426.exe, from www.mingw.org, "Installer / mingw-get-inst", and run it. The installer will automatically download and install further packages. Choose the C Compiler, C++ Compiler and MinGW Developer ToolKit.

3.  gcc ***

If you're going to build gigedit, it's important to have a gcc version that is compatible with the libraries in the gtkmm package. I couldn't get gigedit working with the gcc bundled in MinGW. The MinGW-w64 project (which has compilers for both 32 and 64 bit Windows) has one that works better. Download from http://mingw-w64.sourceforge.net/, WIN32 Downloads, Personal Builds, rubenvb, release: i686-w64-mingw32-gcc-4.5.3-release-win32_rubenvb.7z, and extract in a directory of your choice. Add the bin directory first in PATH, for example:

export PATH=/c/MinGW-w64/mingw32/bin:$PATH

4.  pkg-config

(You can skip this step if you're going to build gigedit, as pkg-config is included in gtkmm.)

The pkg-config tool is needed by the configure script in all the LinuxSampler packages. Download both the Tool and the Dev package from www.gtk.org. Extract pkg-config_0.26-1_win32.zip and pkg-config-dev_0.26-1_win32.zip to C:\MinGW.

5.  gtkmm ***

Download the gtkmm windows installer, gtkmm-win32-devel-2.16.0-4.exe (2.16 seems to have less bugs than 2.22), from www.gtkmm.org, and run it. Let the installer adjust the PATH variable as it wants.

6.  ASIO SDK

Download asiosdk2.2.zip from Steinberg. Extract it to your msys $HOME.

7.  VST SDK

If you want to build the LinuxSampler VST plugin, download vst_sdk2_4_rev2.zip from Steinberg (note that you should not choose version 3). Extract it to msys $HOME.

8.  intltool ***

Download intltool_0.40.4-1_win32.zip from http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool

Unzip this into the gtkmm directory (C:\Program Files\gtkmm)

9.  xsltproc ***

The gigedit Makefile wants to build the gigedit quick start documentation, so it needs the xsltproc command. Download from http://www.zlatkovic.com/pub/libxml/:

libxslt-1.1.26.win32.zip

Copy the contents of the bin directory from the zip file to a directory of your choice. Add this directory last in your msys PATH, for example:

export PATH=$PATH:$HOME/xsltproc

10.  MSYS setup

*** Add the gtkmm aclocal directory to the list of extra directories used by autoconf. (Make sure the gtkmm path is the one where you installed it. The space in "Program Files" causes problems, so the short file name form is used here):

echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist

*** Add the gtkmm bin directory first in your PATH (the installer has already added gtkmm to the PATH, but it may have used "Program Files" with a space in it, which causes configure to fail):

export PATH=/c/Progra~1/gtkmm/bin:$PATH

Make sure pkg-config will find the libraries you build:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

*** The intltool scripts expect perl to be in /opt/perl/bin, so make a link to the real perl.exe:

mkdir -p /opt/perl/bin
ln -s /bin/perl.exe /opt/perl/bin

*** The gettext configure tools need:

export CPPFLAGS="-I/c/Progra~1/gtkmm/include"
export LDFLAGS="-L/c/Progra~1/gtkmm/lib"

11.  Building SQLite

The windows precompiled version of SQLite doesn't include the neccessary development files, so it's best to build SQLite yourself. Download sqlite-autoconf-3071300.tar.gz from www.sqlite.org and extract it to your $HOME:

cd
tar xf sqlite-autoconf-3071300.tar.gz

Build and install:

cd sqlite-autoconf-3071300
./configure
make
make install

12.  Building libsndfile

The windows precompiled version of libsndfile doesn't include the neccessary pkg-config file, so it's best to build libsndfile yourself. Download libsndfile-1.0.25.tar.gz from www.mega-nerd.com and extract it to your $HOME:

cd
tar xf libsndfile-1.0.25.tar.gz

Build and install:

cd libsndfile-1.0.25
./configure
make
make install

13.  Building libgig

Just use the same commands as you would in linux:

make -f Makefile.cvs    (if you build from Subversion)
./configure             (add any configuration parameters as you wish)
make
make install

14.  Building linuxsampler

make -f Makefile.cvs    (if you build from Subversion)
./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4
make
make install

15.  Building gigedit

make -f Makefile.cvs    (if you build from Subversion)
./configure
make
make install