/[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 1812 by persson, Sat Dec 20 19:32:04 2008 UTC revision 2102 by persson, Sun Jun 6 06:43:29 2010 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>December&nbsp;20th,&nbsp;2008</center><br>  <center>January&nbsp;31th,&nbsp;2010</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>
# Line 22  Line 22 
22  <a href="#perl">8.&nbsp; Perl</a><br>  <a href="#perl">8.&nbsp; Perl</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="#sndfile">11.&nbsp; Building libsndfile</a><br>  <a href="#sqlite">11.&nbsp; Building SQLite</a><br>
26  <a href="#gig">12.&nbsp; Building libgig</a><br>  <a href="#sndfile">12.&nbsp; Building libsndfile</a><br>
27  <a href="#ls">13.&nbsp; Building linuxsampler</a><br>  <a href="#gig">13.&nbsp; Building libgig</a><br>
28  <a href="#gigedit">14.&nbsp; Building gigedit</a><br>  <a href="#ls">14.&nbsp; Building linuxsampler</a><br>
29    <a href="#gigedit">15.&nbsp; Building gigedit</a><br>
30  </div>  </div>
31    <p>
32    <center>
33    <script type="text/javascript"><!--
34    google_ad_client = "pub-3408196773880325";
35    /* 728x90, created 8/3/09 */
36    google_ad_slot = "7744776541";
37    google_ad_width = 728;
38    google_ad_height = 90;
39    //-->
40    </script>
41    <script type="text/javascript"
42    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
43    </script>
44    </center>
45    </p>
46    
47  <h3><a name="intro">1.&nbsp; Introduction</a></h3>  <h3><a name="intro">1.&nbsp; Introduction</a></h3>
48    
# Line 38  the build procedure will be the same as Line 53  the build procedure will be the same as
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
56  before writing this text. You can probably use later ones if  before 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 ** and ***:</p>
# Line 51  available.</p> Line 66  available.</p>
66    
67  <h3><a name="mingw">2.&nbsp; MinGW</a></h3>  <h3><a name="mingw">2.&nbsp; MinGW</a></h3>
68    
69  <p>Download the MinGW installer, MinGW-5.1.4.exe,  <p>Download the MinGW installer, MinGW-5.1.6.exe,
70  from <a href="http://www.mingw.org">www.mingw.org</a> and run it.</p>  from <a href="http://www.mingw.org">www.mingw.org</a>, "Automated
71    MinGW Installer / MinGW 5.1.6", and run it. The installer will
72    automatically download and install further packages. Choose the base
73    tools and the g++ compiler.</p>
74    
75    
76  <h3><a name="pkg">3.&nbsp; pkg-config and gtkmm</a></h3>  <h3><a name="pkg">3.&nbsp; pkg-config and gtkmm</a></h3>
# Line 64  download just GLib and pkg-config Line 82  download just GLib and pkg-config
82  from <a href="http://www.gtk.org">www.gtk.org</a>.)</p>  from <a href="http://www.gtk.org">www.gtk.org</a>.)</p>
83    
84  <p>Download the gtkmm windows installer,  <p>Download the gtkmm windows installer,
85  gtkmm-win32-devel-2.14.3-2.exe,  gtkmm-win32-devel-2.16.0-4.exe,
86  from <a href="http://www.gtkmm.org">www.gtkmm.org</a>, and run it. Let  from <a href="http://www.gtkmm.org">www.gtkmm.org</a>, and run it. Let
87  the installer adjust the PATH variable as it wants.</p>  the installer adjust the PATH variable as it wants.</p>
88    
89    
90  <h3><a name="msys">4.&nbsp; MSYS</a></h3>  <h3><a name="msys">4.&nbsp; MSYS</a></h3>
91    
92  <p>I use the 1.0.11 Technology Preview version, as I had problems  <p>Download from "MSYS / BaseSystem / msys-1.0.11":</p>
93  building DLLs with the 1.0.10 current version.</p>  <pre>MSYS-1.0.11.exe</pre>
94    
95    <p>Run the installer.</p>
96    
97    <p>Download from "MSYS / bison / bison-2.4.1-1":</p>
98    <pre>bison-2.4.1-1-msys-1.0.11-bin.tar.lzma **</pre>
99    
100    <p>From "MSYS / crypt / crypt-1.1_1-2":</p>
101    <pre>libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma **</pre>
102    
103    <p>From "MSYS / cvs / cvs-1.12.13-1":</p>
104    <pre>cvs-1.12.13-1-msys-1.0.11-bin.tar.lzma **</pre>
105    
106  <p>Download from "MSYS Base System, Technology Preview: MSYS-1.0.11":</p>  <p>From "MSYS / perl / perl-5.6.1_2-1":</p>
107    <pre>perl-5.6.1_2-1-msys-1.0.11-bin.tar.lzma **</pre>
108    
109  <pre>msysCORE-1.0.11-20080826.tar.gz  <p>From "MSYS / m4 / m4-1.4.13-1":</p>
110  bash-3.1-MSYS-1.0.11-1.tar.bz2</pre>  <pre>m4-1.4.13-1-msys-1.0.11-bin.tar.lzma **</pre>
111    
112  <p>Unpack these to a directory of your choice, for example C:\msys. As  <p>Extract these files to the msys root directory, by starting msys, do
113  1.0.11 doesn't have an installer yet, you need to have an unpacker  "cd /" followed by "tar -x --lzma -f <i>filename</i>".</p>
 that supports tar.gz/tar.bz, for example 7-Zip. The rest of the files  
 you can unpack with the tar included in msysCORE.</p>  
114    
115  <p>Run the postinstall\pi.bat file and specify your MinGW  <p>Download from "MinGW / autoconf / autoconf2.5 / autoconf2.5-2.64-1":</p>
116  directory.</p>  <pre>autoconf2.5-2.64-1-mingw32-bin.tar.lzma **</pre>
117    
118  <p>Download, also from "MSYS Base System, Technology Preview:  <p>From "MinGW / autoconf / wrapper / autoconf-7-1":</p>
119  MSYS-1.0.11":</p>  <pre>autoconf-7-1-mingw32-bin.tar.lzma **</pre>
120    
121  <pre>gawk-3.1.5-MSYS-1.0.11-1.tar.bz2 **</pre>  <p>From "MinGW / automake / automake1.11 / automake1.11-1.11-1":</p>
122    <pre>automake1.11-1.11-1-mingw32-bin.tar.lzma **</pre>
123    
124  <p>Download from "MSYS Supplementary Tools, Technology Preview: Tools for  <p>From "MinGW / automake / wrapper / automake-4-1":</p>
125  MSYS-1.0.11":</p>  <pre>automake-4-1-mingw32-bin.tar.lzma **</pre>
126    
127  <pre>autoconf2.5-2.61-1-bin.tar.bz2 **  <p>From "MinGW / gettext / gettext-0.17-1":</p>
128  autoconf-4-1-bin.tar.bz2 **  <pre>gettext-0.17.1-1-mingw32-dev.tar.lzma ***
129  automake1.10-1.10-1-bin.tar.bz2 **  libgettextpo-0.17-1-mingw32-dll-0.tar.lzma ***
130  automake-3-1-bin.tar.bz2 **  libintl-0.17-1-mingw32-dll-8.tar.lzma ***</pre>
 bison-2.3-MSYS-1.0.11-1.tar.bz2 **  
 crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 **  
 cvs-1.11.22-MSYS-1.0.11-1-bin.tar.gz **  
 gettext-0.16.1-1-bin.tar.bz2 ***  
 gettext-0.16.1-1-dll.tar.bz2 ***  
 libiconv-1.11-1-bin.tar.bz2 ***  
 libiconv-1.11-1-dll.tar.bz2 ***  
 libtool1.5-1.5.25a-1-bin.tar.bz2  
 perl-5.6.1-MSYS-1.0.11-1.tar.bz2 ***</pre>  
131    
132  <p>Download from "MSYS Supplementary Tools, Current Release:  <p>From "MinGW / libiconv / libiconv-1.13.1-1":</p>
133  msysDTK-1.0.1":</p>  <pre>libiconv-1.13.1-1-mingw32-dll-2.tar.lzma ***</pre>
134    
135  <pre>m4-1.4.7-MSYS.tar.bz2 **</pre>  <p>From "MinGW / BaseSystem / GCC / Version4 / Previous Release gcc-4.4.0":</p>
136    <pre>gcc-core-4.4.0-mingw32-dll.tar.gz ***</pre>
137    
138    <p>From "MinGW / libtool / libtool-2.2.7a-1":</p>
139    <pre>libtool-2.2.7a-1-mingw32-bin.tar.lzma</pre>
140    
141  <p>Extract all these files to the msys directory, by starting msys, do  <p>Extract all these files to the MinGW directory, by starting msys, do
142  "cd /" followed by "tar xjf <i>filename</i>" for .tar.bz2 files and  "cd /mingw" followed by "tar -x --lzma -f <i>filename</i>" for the
143  "tar xzf <i>filename</i>" for .tar.gz files.</p>  .tar.lzma files and "tar xaf <i>filename</i>" for the .tar.gz file.</p>
144    
145    
146  <h3><a name="asio">5.&nbsp; ASIO SDK</a></h3>  <h3><a name="asio">5.&nbsp; ASIO SDK</a></h3>
# Line 138  version 3). Extract it to msys $HOME.</p Line 161  version 3). Extract it to msys $HOME.</p
161  <p>Download intltool_0.40.4-1_win32.zip from  <p>Download intltool_0.40.4-1_win32.zip from
162  <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>
163    
164  <p>Unzip this into the msys local directory, (C:\msys\local for  <p>Unzip this into the gtkmm directory (C:\Program Files\gtkmm)</p>
 example)</p>  
165    
166    
167  <h3><a name="perl">8.&nbsp; Perl ***</a></h3>  <h3><a name="perl">8.&nbsp; Perl ***</a></h3>
# Line 154  install it.</p> Line 176  install it.</p>
176    
177  <p>The gigedit Makefile wants to build the gigedit quick start  <p>The gigedit Makefile wants to build the gigedit quick start
178  documentation, so it needs the xsltproc command. Download from  documentation, so it needs the xsltproc command. Download from
179  <a href="ftp://ftp.zlatkovic.com/pub/libxml/">ftp://ftp.zlatkovic.com/pub/libxml/</a>:</p>  <a href="http://www.zlatkovic.com/pub/libxml/">http://www.zlatkovic.com/pub/libxml/</a>:</p>
180    
181  <pre>libxml2-2.7.2+.win32.zip  <pre>libxslt-1.1.26.win32.zip</pre>
 libxslt-1.1.24.win32.zip</pre>  
182    
183  <p>Copy the contents of the bin directories from both zip files to a  <p>Copy the contents of the bin directory from the zip file to a
184  directory of your choice. Add this directory last in your msys PATH,  directory of your choice. Add this directory last in your msys PATH,
185  for example:</p>  for example:</p>
186    
# Line 173  used by autoconf. (Make sure the gtkmm p Line 194  used by autoconf. (Make sure the gtkmm p
194  installed it. The space in "Program Files" causes problems, so the  installed it. The space in "Program Files" causes problems, so the
195  short file name form is used here):</p>  short file name form is used here):</p>
196    
197  <pre>echo "/c/Progra~1/gtkmm/share/aclocal" >> /usr/local/share/aclocal/dirlist</pre>  <pre>echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist</pre>
198    
199  <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
200  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"
# Line 181  with a space in it, which causes configu Line 202  with a space in it, which causes configu
202    
203  <pre>export PATH=/c/Progra~1/gtkmm/bin:$PATH</pre>  <pre>export PATH=/c/Progra~1/gtkmm/bin:$PATH</pre>
204    
205  <p>Make sure pkg-config will find the LinuxSampler libraries:</p>  <p>Make sure pkg-config will find the libraries you build:</p>
206    
207  <pre>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</pre>  <pre>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</pre>
208    
# Line 195  ln -s /c/Perl/bin/perl.exe /opt/perl/bin Line 216  ln -s /c/Perl/bin/perl.exe /opt/perl/bin
216  export PATH=/c/Perl/bin:$PATH</pre>  export PATH=/c/Perl/bin:$PATH</pre>
217    
218    
219  <p>*** MSYS gettext and gtkmm both include libintl. We want the gtkmm  <p>*** MinGW gettext and gtkmm both include libintl. We want the gtkmm
220  version. Remove the MSYS files so the gettext configure tools don't  version. Remove the MinGW files so the gettext configure tools don't
221  choose the wrong version:</p>  choose the wrong version:</p>
222    
223  <pre>rm /usr/local/include/libintl.h /usr/local/lib/libintl*</pre>  <pre>rm /mingw/include/libintl.h /mingw/lib/libintl*</pre>
224    
225    
226  <p>*** The gettext configure tools also need:</p>  <p>*** The gettext configure tools also need:</p>
# Line 208  choose the wrong version:</p> Line 229  choose the wrong version:</p>
229  export LDFLAGS="-L/c/Progra~1/gtkmm/lib"</pre>  export LDFLAGS="-L/c/Progra~1/gtkmm/lib"</pre>
230    
231    
232  <h3><a name="sndfile">11.&nbsp; Building libsndfile</a></h3>  <h3><a name="sqlite">11.&nbsp; Building SQLite</a></h3>
233    
234    <p>The windows precompiled version of SQLite doesn't include the
235    neccessary development files, so it's best to build SQLite yourself.
236    Download sqlite-amalgamation-3.6.22.tar.gz
237    from <a href="http://www.sqlite.org">www.sqlite.org</a>
238    and extract it to your $HOME:</p>
239    
240    <pre>cd
241    tar xzf sqlite-amalgamation-3.6.22.tar.gz</pre>
242    
243    <p>Build and install:</p>
244    
245    <pre>cd sqlite-3.6.22
246    CFLAGS=-O2 ./configure
247    make
248    make install</pre>
249    
250    <p>(Without CFLAGS=-O2, the build will fail. The MinGW compiler has
251    some problems with creating the debug info for some reason.)</p>
252    
253    <h3><a name="sndfile">12.&nbsp; Building libsndfile</a></h3>
254    
255  <p>The windows precompiled version of libsndfile doesn't include the  <p>The windows precompiled version of libsndfile doesn't include the
256  neccessary pkg-config file, so it's best to build libsndfile  neccessary pkg-config file, so it's best to build libsndfile
257  yourself. Download libsndfile-1.0.17.tar.gz  yourself. Download libsndfile-1.0.21.tar.gz
258  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
259  extract it to your $HOME:</p>  extract it to your $HOME:</p>
260    
261  <pre>cd  <pre>cd
262  tar xzf libsndfile-1.0.17.tar.gz</pre>  tar xzf libsndfile-1.0.21.tar.gz</pre>
   
 <p>To prevent a compilation error for the test cases, add</p>  
263    
264  <pre>#include &lt;stdint.h></pre>  <p>Build and install:</p>
265    
266  <p>to tests/utils.h.</p>  <pre>cd libsndfile-1.0.21
267    ./configure
 <pre>./configure  
268  make  make
269  make install</pre>  make install</pre>
270    
271    
272  <h3><a name="gig">12.&nbsp; Building libgig</a></h3>  <h3><a name="gig">13.&nbsp; Building libgig</a></h3>
273    
274  <p>Just use the same commands as you would in linux:</p>  <p>Just use the same commands as you would in linux:</p>
275    
# Line 240  make Line 279  make
279  make install</pre>  make install</pre>
280    
281    
282  <h3><a name="ls">13.&nbsp; Building linuxsampler</a></h3>  <h3><a name="ls">14.&nbsp; Building linuxsampler</a></h3>
283    
284  <pre>make -f Makefile.cvs    (if you build from CVS)  <pre>make -f Makefile.cvs    (if you build from CVS)
285  ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4  ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4
# Line 248  make Line 287  make
287  make install</pre>  make install</pre>
288    
289    
290  <h3><a name="gigedit">14.&nbsp; Building gigedit</a></h3>  <h3><a name="gigedit">15.&nbsp; Building gigedit</a></h3>
291    
292  <pre>make -f Makefile.cvs    (if you build from CVS)  <pre>make -f Makefile.cvs    (if you build from CVS)
293  ./configure  ./configure

Legend:
Removed from v.1812  
changed lines
  Added in v.2102

  ViewVC Help
Powered by ViewVC