/[svn]/web/trunk/www.linuxsampler.org/msys.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/msys.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2356 by persson, Sun Jun 6 06:43:29 2010 UTC revision 2357 by persson, Tue Jul 17 14:58:14 2012 UTC
# Line 10  Line 10 
10  <body>  <body>
11  <h2 align="center">Windows Build Instructions &nbsp; <img src="gfx/logos/msys.png" alt="msys logo"> &nbsp; HOWTO by Andreas Persson</h2>  <h2 align="center">Windows Build Instructions &nbsp; <img src="gfx/logos/msys.png" alt="msys logo"> &nbsp; HOWTO by Andreas Persson</h2>
12  <br>  <br>
13  <center>January&nbsp;31th,&nbsp;2010</center><br>  <center>July&nbsp;17th,&nbsp;2012</center><br>
14  <div style="background-color: #F4F4FF; margin: 1em 3em 1em 3em; padding: 1em 1em 1em 2.2em;">  <div style="background-color: #F4F4FF; margin: 1em 3em 1em 3em; padding: 1em 1em 1em 2.2em;">
15  <a href="#intro">1.&nbsp; Introduction</a><br>  <a href="#intro">1.&nbsp; Introduction</a><br>
16  <a href="#mingw">2.&nbsp; MinGW</a><br>  <a href="#mingw">2.&nbsp; MinGW</a><br>
17  <a href="#pkg">3.&nbsp; pkg-config and gtkmm</a><br>  <a href="#gcc">3.&nbsp; gcc</a><br>
18  <a href="#msys">4.&nbsp; MSYS</a><br>  <a href="#pkg">4.&nbsp; pkg-config</a><br>
19  <a href="#asio">5.&nbsp; ASIO SDK</a><br>  <a href="#gtkmm">5.&nbsp; gtkmm</a><br>
20  <a href="#vst">6.&nbsp; VST SDK</a><br>  <a href="#asio">6.&nbsp; ASIO SDK</a><br>
21  <a href="#intl">7.&nbsp; intltool</a><br>  <a href="#vst">7.&nbsp; VST SDK</a><br>
22  <a href="#perl">8.&nbsp; Perl</a><br>  <a href="#intl">8.&nbsp; intltool</a><br>
23  <a href="#xslt">9.&nbsp; xsltproc</a><br>  <a href="#xslt">9.&nbsp; xsltproc</a><br>
24  <a href="#setup">10.&nbsp; MSYS setup</a><br>  <a href="#setup">10.&nbsp; MSYS setup</a><br>
25  <a href="#sqlite">11.&nbsp; Building SQLite</a><br>  <a href="#sqlite">11.&nbsp; Building SQLite</a><br>
# Line 46  src="http://pagead2.googlesyndication.co Line 46  src="http://pagead2.googlesyndication.co
46    
47  <h3><a name="intro">1.&nbsp; Introduction</a></h3>  <h3><a name="intro">1.&nbsp; Introduction</a></h3>
48    
49  <p>These are instructions for building libgig, linuxsampler and  <p>This page contains instructions for building libgig, linuxsampler
50  gigedit on Windows (32 bit) with help of MinGW and MSYS. After the  and gigedit on Windows with help of MinGW and MSYS. After the MinGW
51  MinGW and MSYS environment and the other prerequisites are installed,  and MSYS environment and the other prerequisites are installed, the
52  the build procedure will be the same as in Linux, that is, basically:  build procedure will be the same as in Linux, that is, basically:
53  ./configure ; make ; make install.</p>  ./configure ; make ; make install.</p>
54    
55  <p>The versions of the files to download are just the ones I used  <p>The versions of the files to download are just the ones I used when
56  before updating this text. You can probably use later ones if  last updating this text. You can probably use later ones if
57  available.</p>  available.</p>
58    
59  <p>Some of the instructions below are marked with ** and ***:</p>  <p>Some of the instructions below are marked with ***:</p>
   
 <p>** = only needed if you are going to build from CVS, not if you are  
      using the tar file releases</p>  
60    
61  <p>*** = only needed if you are going to build gigedit</p>  <p>*** = only needed if you are going to build gigedit</p>
62    
63    
64  <h3><a name="mingw">2.&nbsp; MinGW</a></h3>  <h3><a name="mingw">2.&nbsp; MinGW</a></h3>
65    
66  <p>Download the MinGW installer, MinGW-5.1.6.exe,  <p>Download the MinGW installer, mingw-get-inst-20120426.exe,
67  from <a href="http://www.mingw.org">www.mingw.org</a>, "Automated  from <a href="http://www.mingw.org">www.mingw.org</a>, "Installer /
68  MinGW Installer / MinGW 5.1.6", and run it. The installer will  mingw-get-inst", and run it. The installer will automatically download
69  automatically download and install further packages. Choose the base  and install further packages. Choose the C Compiler, C++ Compiler and
70  tools and the g++ compiler.</p>  MinGW Developer ToolKit.</p>
71    
72    
73    <h3><a name="gcc">3.&nbsp; gcc ***</a></h3>
74    
75    <p>If you're going to build gigedit, it's important to have a gcc
76    version that is compatible with the libraries in the gtkmm package. I
77    couldn't get gigedit working with the gcc bundled in MinGW. The
78    MinGW-w64 project (which has compilers for both 32 and 64 bit Windows)
79    has one that works better. Download
80    from <a href="http://mingw-w64.sourceforge.net/">http://mingw-w64.sourceforge.net/</a>,
81    WIN32 Downloads, Personal Builds, rubenvb, release:
82    i686-w64-mingw32-gcc-4.5.3-release-win32_rubenvb.7z, and extract in a
83    directory of your choice. Add the bin directory first in PATH, for
84    example:</p>
85    <pre>export PATH=/c/MinGW-w64/mingw32/bin:$PATH</pre>
86    
87    
88  <h3><a name="pkg">3.&nbsp; pkg-config and gtkmm</a></h3>  <h3><a name="pkg">4.&nbsp; pkg-config</a></h3>
89    
90    <p>(You can skip this step if you're going to build gigedit, as
91    pkg-config is included in gtkmm.)</p>
92  <p>The pkg-config tool is needed by the configure script in all the  <p>The pkg-config tool is needed by the configure script in all the
93  LinuxSampler packages. pkg-config is included in gtkmm, which is  LinuxSampler packages. Download both the Tool and the Dev package
94  needed by gigedit. (If you are not going to build gigedit, you can  from <a href="http://www.gtk.org">www.gtk.org</a>. Extract
95  download just GLib and pkg-config  pkg-config_0.26-1_win32.zip and pkg-config-dev_0.26-1_win32.zip to
96  from <a href="http://www.gtk.org">www.gtk.org</a>.)</p>  C:\MinGW.</p>
   
 <p>Download the gtkmm windows installer,  
 gtkmm-win32-devel-2.16.0-4.exe,  
 from <a href="http://www.gtkmm.org">www.gtkmm.org</a>, and run it. Let  
 the installer adjust the PATH variable as it wants.</p>  
   
   
 <h3><a name="msys">4.&nbsp; MSYS</a></h3>  
   
 <p>Download from "MSYS / BaseSystem / msys-1.0.11":</p>  
 <pre>MSYS-1.0.11.exe</pre>  
   
 <p>Run the installer.</p>  
   
 <p>Download from "MSYS / bison / bison-2.4.1-1":</p>  
 <pre>bison-2.4.1-1-msys-1.0.11-bin.tar.lzma **</pre>  
   
 <p>From "MSYS / crypt / crypt-1.1_1-2":</p>  
 <pre>libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma **</pre>  
   
 <p>From "MSYS / cvs / cvs-1.12.13-1":</p>  
 <pre>cvs-1.12.13-1-msys-1.0.11-bin.tar.lzma **</pre>  
   
 <p>From "MSYS / perl / perl-5.6.1_2-1":</p>  
 <pre>perl-5.6.1_2-1-msys-1.0.11-bin.tar.lzma **</pre>  
   
 <p>From "MSYS / m4 / m4-1.4.13-1":</p>  
 <pre>m4-1.4.13-1-msys-1.0.11-bin.tar.lzma **</pre>  
   
 <p>Extract these files to the msys root directory, by starting msys, do  
 "cd /" followed by "tar -x --lzma -f <i>filename</i>".</p>  
   
 <p>Download from "MinGW / autoconf / autoconf2.5 / autoconf2.5-2.64-1":</p>  
 <pre>autoconf2.5-2.64-1-mingw32-bin.tar.lzma **</pre>  
97    
 <p>From "MinGW / autoconf / wrapper / autoconf-7-1":</p>  
 <pre>autoconf-7-1-mingw32-bin.tar.lzma **</pre>  
98    
99  <p>From "MinGW / automake / automake1.11 / automake1.11-1.11-1":</p>  <h3><a name="gtkmm">5.&nbsp; gtkmm ***</a></h3>
 <pre>automake1.11-1.11-1-mingw32-bin.tar.lzma **</pre>  
100    
101  <p>From "MinGW / automake / wrapper / automake-4-1":</p>  <p>Download the gtkmm windows installer,
102  <pre>automake-4-1-mingw32-bin.tar.lzma **</pre>  gtkmm-win32-devel-2.16.0-4.exe (2.16 seems to have less bugs than
103    2.22), from <a href="http://www.gtkmm.org">www.gtkmm.org</a>, and run
104  <p>From "MinGW / gettext / gettext-0.17-1":</p>  it. Let the installer adjust the PATH variable as it wants.</p>
 <pre>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 ***</pre>  
   
 <p>From "MinGW / libiconv / libiconv-1.13.1-1":</p>  
 <pre>libiconv-1.13.1-1-mingw32-dll-2.tar.lzma ***</pre>  
   
 <p>From "MinGW / BaseSystem / GCC / Version4 / Previous Release gcc-4.4.0":</p>  
 <pre>gcc-core-4.4.0-mingw32-dll.tar.gz ***</pre>  
   
 <p>From "MinGW / libtool / libtool-2.2.7a-1":</p>  
 <pre>libtool-2.2.7a-1-mingw32-bin.tar.lzma</pre>  
   
 <p>Extract all these files to the MinGW directory, by starting msys, do  
 "cd /mingw" followed by "tar -x --lzma -f <i>filename</i>" for the  
 .tar.lzma files and "tar xaf <i>filename</i>" for the .tar.gz file.</p>  
105    
106    
107  <h3><a name="asio">5.&nbsp; ASIO SDK</a></h3>  <h3><a name="asio">6.&nbsp; ASIO SDK</a></h3>
108    
109  <p>Download asiosdk2.2.zip from Steinberg. Extract it to your msys  <p>Download asiosdk2.2.zip from Steinberg. Extract it to your msys
110  $HOME.</p>  $HOME.</p>
111    
112    
113  <h3><a name="vst">6.&nbsp; VST SDK</a></h3>  <h3><a name="vst">7.&nbsp; VST SDK</a></h3>
114    
115  <p>If you want to build the LinuxSampler VST plugin, download  <p>If you want to build the LinuxSampler VST plugin, download
116  vst_sdk2_4_rev2.zip from Steinberg (note that you should not choose  vst_sdk2_4_rev2.zip from Steinberg (note that you should not choose
117  version 3). Extract it to msys $HOME.</p>  version 3). Extract it to msys $HOME.</p>
118    
119    
120  <h3><a name="intl">7.&nbsp; intltool ***</a></h3>  <h3><a name="intl">8.&nbsp; intltool ***</a></h3>
121    
122  <p>Download intltool_0.40.4-1_win32.zip from  <p>Download intltool_0.40.4-1_win32.zip from
123  <a href="http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool">http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool</a></p>  <a href="http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool">http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool</a></p>
# Line 164  version 3). Extract it to msys $HOME.</p Line 125  version 3). Extract it to msys $HOME.</p
125  <p>Unzip this into the gtkmm directory (C:\Program Files\gtkmm)</p>  <p>Unzip this into the gtkmm directory (C:\Program Files\gtkmm)</p>
126    
127    
 <h3><a name="perl">8.&nbsp; Perl ***</a></h3>  
   
 <p>The perl in MSYS is lacking an XML parser which is needed by  
 intltool. Download ActivePerl  
 from <a href="http://www.activestate.com">www.activestate.com</a> and  
 install it.</p>  
   
   
128  <h3><a name="xslt">9.&nbsp; xsltproc ***</a></h3>  <h3><a name="xslt">9.&nbsp; xsltproc ***</a></h3>
129    
130  <p>The gigedit Makefile wants to build the gigedit quick start  <p>The gigedit Makefile wants to build the gigedit quick start
# Line 189  for example:</p> Line 142  for example:</p>
142    
143  <h3><a name="setup">10.&nbsp; MSYS setup</a></h3>  <h3><a name="setup">10.&nbsp; MSYS setup</a></h3>
144    
145  <p>Add the gtkmm aclocal directory to the list of extra directories  <p>*** Add the gtkmm aclocal directory to the list of extra directories
146  used by autoconf. (Make sure the gtkmm path is the one where you  used by autoconf. (Make sure the gtkmm path is the one where you
147  installed it. The space in "Program Files" causes problems, so the  installed it. The space in "Program Files" causes problems, so the
148  short file name form is used here):</p>  short file name form is used here):</p>
149    
150  <pre>echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist</pre>  <pre>echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist</pre>
151    
152  <p>Add the gtkmm bin directory first in your PATH (the installer has  <p>*** Add the gtkmm bin directory first in your PATH (the installer has
153  already added gtkmm to the PATH, but it may have used "Program Files"  already added gtkmm to the PATH, but it may have used "Program Files"
154  with a space in it, which causes configure to fail):</p>  with a space in it, which causes configure to fail):</p>
155    
156  <pre>export PATH=/c/Progra~1/gtkmm/bin:$PATH</pre>  <pre>export PATH=/c/Progra~1/gtkmm/bin:$PATH</pre>
157    
158    
159  <p>Make sure pkg-config will find the libraries you build:</p>  <p>Make sure pkg-config will find the libraries you build:</p>
160    
161  <pre>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</pre>  <pre>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</pre>
162    
163    
164  <p>*** The intltool scripts expect perl to be in /opt/perl/bin, so  <p>*** The intltool scripts expect perl to be in /opt/perl/bin, so
165  make a link to the ActivePerl installation. Also add ActivePerl to  make a link to the real perl.exe:</p>
 PATH:</p>  
166    
167  <pre>mkdir -p /opt/perl/bin  <pre>mkdir -p /opt/perl/bin
168  ln -s /c/Perl/bin/perl.exe /opt/perl/bin  ln -s /bin/perl.exe /opt/perl/bin</pre>
 export PATH=/c/Perl/bin:$PATH</pre>  
   
169    
 <p>*** 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:</p>  
170    
171  <pre>rm /mingw/include/libintl.h /mingw/lib/libintl*</pre>  <p>*** The gettext configure tools need:</p>
   
   
 <p>*** The gettext configure tools also need:</p>  
172    
173  <pre>export CPPFLAGS="-I/c/Progra~1/gtkmm/include"  <pre>export CPPFLAGS="-I/c/Progra~1/gtkmm/include"
174  export LDFLAGS="-L/c/Progra~1/gtkmm/lib"</pre>  export LDFLAGS="-L/c/Progra~1/gtkmm/lib"</pre>
# Line 233  export LDFLAGS="-L/c/Progra~1/gtkmm/lib" Line 178  export LDFLAGS="-L/c/Progra~1/gtkmm/lib"
178    
179  <p>The windows precompiled version of SQLite doesn't include the  <p>The windows precompiled version of SQLite doesn't include the
180  neccessary development files, so it's best to build SQLite yourself.  neccessary development files, so it's best to build SQLite yourself.
181  Download sqlite-amalgamation-3.6.22.tar.gz  Download sqlite-autoconf-3071300.tar.gz
182  from <a href="http://www.sqlite.org">www.sqlite.org</a>  from <a href="http://www.sqlite.org">www.sqlite.org</a> and extract it
183  and extract it to your $HOME:</p>  to your $HOME:</p>
184    
185  <pre>cd  <pre>cd
186  tar xzf sqlite-amalgamation-3.6.22.tar.gz</pre>  tar xf sqlite-autoconf-3071300.tar.gz</pre>
187    
188  <p>Build and install:</p>  <p>Build and install:</p>
189    
190  <pre>cd sqlite-3.6.22  <pre>cd sqlite-autoconf-3071300
191  CFLAGS=-O2 ./configure  ./configure
192  make  make
193  make install</pre>  make install</pre>
194    
 <p>(Without CFLAGS=-O2, the build will fail. The MinGW compiler has  
 some problems with creating the debug info for some reason.)</p>  
195    
196  <h3><a name="sndfile">12.&nbsp; Building libsndfile</a></h3>  <h3><a name="sndfile">12.&nbsp; Building libsndfile</a></h3>
197    
198  <p>The windows precompiled version of libsndfile doesn't include the  <p>The windows precompiled version of libsndfile doesn't include the
199  neccessary pkg-config file, so it's best to build libsndfile  neccessary pkg-config file, so it's best to build libsndfile
200  yourself. Download libsndfile-1.0.21.tar.gz  yourself. Download libsndfile-1.0.25.tar.gz
201  from <a href="http://www.mega-nerd.com/libsndfile/">www.mega-nerd.com</a> and  from <a href="http://www.mega-nerd.com/libsndfile/">www.mega-nerd.com</a> and
202  extract it to your $HOME:</p>  extract it to your $HOME:</p>
203    
204  <pre>cd  <pre>cd
205  tar xzf libsndfile-1.0.21.tar.gz</pre>  tar xf libsndfile-1.0.25.tar.gz</pre>
206    
207  <p>Build and install:</p>  <p>Build and install:</p>
208    
209  <pre>cd libsndfile-1.0.21  <pre>cd libsndfile-1.0.25
210  ./configure  ./configure
211  make  make
212  make install</pre>  make install</pre>
# Line 273  make install</pre> Line 216  make install</pre>
216    
217  <p>Just use the same commands as you would in linux:</p>  <p>Just use the same commands as you would in linux:</p>
218    
219  <pre>make -f Makefile.cvs    (if you build from CVS)  <pre>make -f Makefile.cvs    (if you build from Subversion)
220  ./configure             (add any configuration parameters as you wish)  ./configure             (add any configuration parameters as you wish)
221  make  make
222  make install</pre>  make install</pre>
# Line 281  make install</pre> Line 224  make install</pre>
224    
225  <h3><a name="ls">14.&nbsp; Building linuxsampler</a></h3>  <h3><a name="ls">14.&nbsp; Building linuxsampler</a></h3>
226    
227  <pre>make -f Makefile.cvs    (if you build from CVS)  <pre>make -f Makefile.cvs    (if you build from Subversion)
228  ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4  ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4
229  make  make
230  make install</pre>  make install</pre>
# Line 289  make install</pre> Line 232  make install</pre>
232    
233  <h3><a name="gigedit">15.&nbsp; Building gigedit</a></h3>  <h3><a name="gigedit">15.&nbsp; Building gigedit</a></h3>
234    
235  <pre>make -f Makefile.cvs    (if you build from CVS)  <pre>make -f Makefile.cvs    (if you build from Subversion)
236  ./configure  ./configure
237  make  make
238  make install</pre>  make install</pre>

Legend:
Removed from v.2356  
changed lines
  Added in v.2357

  ViewVC Help
Powered by ViewVC