--- web/trunk/www.linuxsampler.org/msys.html 2012/07/08 14:44:47 2356 +++ web/trunk/www.linuxsampler.org/msys.html 2012/07/17 14:58:14 2357 @@ -10,16 +10,16 @@

Windows Build Instructions   msys logo   HOWTO by Andreas Persson


-
January 31th, 2010

+
July 17th, 2012

1.  Introduction
2.  MinGW
-3.  pkg-config and gtkmm
-4.  MSYS
-5.  ASIO SDK
-6.  VST SDK
-7.  intltool
-8.  Perl
+3.  gcc
+4.  pkg-config
+5.  gtkmm
+6.  ASIO SDK
+7.  VST SDK
+8.  intltool
9.  xsltproc
10.  MSYS setup
11.  Building SQLite
@@ -46,117 +46,78 @@

1.  Introduction

-

These are instructions for building libgig, linuxsampler and -gigedit on Windows (32 bit) 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: +

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 -before updating this text. You can probably use later ones if +

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 ** and ***:

- -

** = only needed if you are going to build from CVS, not if you are - using the tar file releases

+

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

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

2.  MinGW

-

Download the MinGW installer, MinGW-5.1.6.exe, -from www.mingw.org, "Automated -MinGW Installer / MinGW 5.1.6", and run it. The installer will -automatically download and install further packages. Choose the base -tools and the g++ compiler.

+

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
-

3.  pkg-config and gtkmm

+

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. pkg-config is included in gtkmm, which is -needed by gigedit. (If you are not going to build gigedit, you can -download just GLib and pkg-config -from www.gtk.org.)

- -

Download the gtkmm windows installer, -gtkmm-win32-devel-2.16.0-4.exe, -from www.gtkmm.org, and run it. Let -the installer adjust the PATH variable as it wants.

- - -

4.  MSYS

- -

Download from "MSYS / BaseSystem / msys-1.0.11":

-
MSYS-1.0.11.exe
- -

Run the installer.

- -

Download from "MSYS / bison / bison-2.4.1-1":

-
bison-2.4.1-1-msys-1.0.11-bin.tar.lzma **
- -

From "MSYS / crypt / crypt-1.1_1-2":

-
libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma **
- -

From "MSYS / cvs / cvs-1.12.13-1":

-
cvs-1.12.13-1-msys-1.0.11-bin.tar.lzma **
- -

From "MSYS / perl / perl-5.6.1_2-1":

-
perl-5.6.1_2-1-msys-1.0.11-bin.tar.lzma **
- -

From "MSYS / m4 / m4-1.4.13-1":

-
m4-1.4.13-1-msys-1.0.11-bin.tar.lzma **
- -

Extract these files to the msys root directory, by starting msys, do -"cd /" followed by "tar -x --lzma -f filename".

- -

Download from "MinGW / autoconf / autoconf2.5 / autoconf2.5-2.64-1":

-
autoconf2.5-2.64-1-mingw32-bin.tar.lzma **
+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.

-

From "MinGW / autoconf / wrapper / autoconf-7-1":

-
autoconf-7-1-mingw32-bin.tar.lzma **
-

From "MinGW / automake / automake1.11 / automake1.11-1.11-1":

-
automake1.11-1.11-1-mingw32-bin.tar.lzma **
+

5.  gtkmm ***

-

From "MinGW / automake / wrapper / automake-4-1":

-
automake-4-1-mingw32-bin.tar.lzma **
- -

From "MinGW / gettext / gettext-0.17-1":

-
gettext-0.17.1-1-mingw32-dev.tar.lzma ***
-libgettextpo-0.17-1-mingw32-dll-0.tar.lzma ***
-libintl-0.17-1-mingw32-dll-8.tar.lzma ***
- -

From "MinGW / libiconv / libiconv-1.13.1-1":

-
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma ***
- -

From "MinGW / BaseSystem / GCC / Version4 / Previous Release gcc-4.4.0":

-
gcc-core-4.4.0-mingw32-dll.tar.gz ***
- -

From "MinGW / libtool / libtool-2.2.7a-1":

-
libtool-2.2.7a-1-mingw32-bin.tar.lzma
- -

Extract all these files to the MinGW directory, by starting msys, do -"cd /mingw" followed by "tar -x --lzma -f filename" for the -.tar.lzma files and "tar xaf filename" for the .tar.gz file.

+

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.

-

5.  ASIO SDK

+

6.  ASIO SDK

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

-

6.  VST SDK

+

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.

-

7.  intltool ***

+

8.  intltool ***

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

@@ -164,14 +125,6 @@

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

-

8.  Perl ***

- -

The perl in MSYS is lacking an XML parser which is needed by -intltool. Download ActivePerl -from www.activestate.com and -install it.

- -

9.  xsltproc ***

The gigedit Makefile wants to build the gigedit quick start @@ -189,41 +142,33 @@

10.  MSYS setup

-

Add the gtkmm aclocal directory to the list of extra directories +

*** 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 +

*** 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 ActivePerl installation. Also add ActivePerl to -PATH:

+make a link to the real perl.exe:

mkdir -p /opt/perl/bin
-ln -s /c/Perl/bin/perl.exe /opt/perl/bin
-export PATH=/c/Perl/bin:$PATH
- +ln -s /bin/perl.exe /opt/perl/bin -

*** MinGW gettext and gtkmm both include libintl. We want the gtkmm -version. Remove the MinGW files so the gettext configure tools don't -choose the wrong version:

-
rm /mingw/include/libintl.h /mingw/lib/libintl*
- - -

*** The gettext configure tools also need:

+

*** The gettext configure tools need:

export CPPFLAGS="-I/c/Progra~1/gtkmm/include"
 export LDFLAGS="-L/c/Progra~1/gtkmm/lib"
@@ -233,37 +178,35 @@

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

+Download sqlite-autoconf-3071300.tar.gz +from www.sqlite.org and extract it +to your $HOME:

cd
-tar xzf sqlite-amalgamation-3.6.22.tar.gz
+tar xf sqlite-autoconf-3071300.tar.gz

Build and install:

-
cd sqlite-3.6.22
-CFLAGS=-O2 ./configure
+
cd sqlite-autoconf-3071300
+./configure
 make
 make install
-

(Without CFLAGS=-O2, the build will fail. The MinGW compiler has -some problems with creating the debug info for some reason.)

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.21.tar.gz +yourself. Download libsndfile-1.0.25.tar.gz from www.mega-nerd.com and extract it to your $HOME:

cd
-tar xzf libsndfile-1.0.21.tar.gz
+tar xf libsndfile-1.0.25.tar.gz

Build and install:

-
cd libsndfile-1.0.21
+
cd libsndfile-1.0.25
 ./configure
 make
 make install
@@ -273,7 +216,7 @@

Just use the same commands as you would in linux:

-
make -f Makefile.cvs    (if you build from CVS)
+
make -f Makefile.cvs    (if you build from Subversion)
 ./configure             (add any configuration parameters as you wish)
 make
 make install
@@ -281,7 +224,7 @@

14.  Building linuxsampler

-
make -f Makefile.cvs    (if you build from CVS)
+
make -f Makefile.cvs    (if you build from Subversion)
 ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4
 make
 make install
@@ -289,7 +232,7 @@

15.  Building gigedit

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