Flush
[mono.git] / doc / download
1 * Software Availability
2
3         The Virtual Execution System is available in package `mono'.
4         Currently this contains a metadata library and the
5         disassembler.  Please refer to our <a
6         href="runtime.html">Runtime</a> description for more details
7         on this part of the project.
8
9         Some useful links: <a
10         href="http://www.go-mono.org/mono-beginning.html">Resources/Beginning
11         section</a>, the <a
12         href="http://www.go-mono.org/faq.html">FAQ</a> and the <a
13         href="http://geneura.ugr.es/~jaime/deploy/mono-common-problems.html">
14         Mono Common Problems</a>. 
15
16         <table>
17           <tbody>
18           <tr bgcolor="#DDDDDD">
19             <td>
20               <b>Release 0.16</b><br>
21               <a href="archive/mono-0.16">Release notes</a><br>
22               Oct 1st, 2002.
23             </td>
24             <td>
25               <table cellspacing="1" cellpadding="3">
26                 <tr bgcolor="#BBBBBB">
27                   <td>
28                     <b>Source Code</b>
29                   </td>
30                   <td>
31                     <ul>
32                       <li><a href="archive/mcs-0.16.tar.gz">Mono Class Libraries and C# Compiler.</a>
33                       <li><a href="archive/mono-0.16.tar.gz">Mono Runtime</a>
34                       <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
35                     </ul>
36                   </td>
37                 </tr>
38                 <tr bgcolor="#BBBBBB">
39                   <td>
40                      <b>Source RPMs</b>
41                   </td>
42                   <td>
43                     <ul>
44                         <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
45                         <li><a href="archive/mono-0.16-1.src.rpm">mono-0.16-1.src.rpm</a>
46                     </ul>
47                   </td>
48                 </tr>
49                 <tr>
50                  <td></td>
51                 </tr>
52                 <tr>
53                   <td bgcolor="#999999">
54                     <b>Red Hat 7.3/x86</b>
55                     <ul>
56                         <li><a href="archive/redhat-73-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
57                         <li><a href="archive/redhat-73-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
58                         <li><a href="archive/redhat-73-i386/mono-0.16-1.i386.rpm">mono-0.16-1.i386.rpm</a>
59                         <li><a href="archive/redhat-73-i386/mono-devel-0.16-1.i386.rpm">mono-devel-0.16-1.i386.rpm</a>
60                     </ul>
61                   </td>
62                   <td bgcolor="#999999">
63                     <b>Red Hat 7.2/x86</b>
64                     <ul>
65                         <li><a href="archive/redhat-72-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
66                         <li><a href="archive/redhat-72-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
67                         <li><a href="archive/redhat-72-i386/mono-0.16-1.i386.rpm">mono-0.16-1.i386.rpm</a>
68                         <li><a href="archive/redhat-72-i386/mono-devel-0.16-1.i386.rpm">mono-devel-0.16-1.i386.rpm</a>
69                     </ul>
70                   </td>
71                 </tr>
72                 <tr>
73                   <td bgcolor="#999999">
74                     <b>Red Hat 7.1/x86</b>
75                     <ul>
76                         <li><a href="archive/redhat-71-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
77                         <li><a href="archive/redhat-71-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
78                         <li><a href="archive/redhat-71-i386/mono-0.16-1.i386.rpm">mono-0.16-1.i386.rpm</a>
79                         <li><a href="archive/redhat-71-i386/mono-devel-0.16-1.i386.rpm">mono-devel-0.16-1.i386.rpm</a>
80                     </ul>
81                   </td>
82                   <td bgcolor="#999999">
83                     <b>Mandrake 8.2/x86</b>
84                     <ul>
85                         <li><a href="archive/mandrake-82-i386/libgc-6.1-1.i586.rpm">libgc-6.1-1.i586.rpm</a>
86                         <li><a href="archive/mandrake-82-i386/libgc-devel-6.1-1.i586.rpm">libgc-devel-6.1-1.i586.rpm</a>
87                         <li><a href="archive/mandrake-82-i386/mono-0.16-1.i586.rpm">mono-0.16-1.i586.rpm</a>
88                         <li><a href="archive/mandrake-82-i386/mono-devel-0.16-1.i586.rpm">mono-devel-0.16-1.i586.rpm</a>
89                     </ul>
90                   </td>
91                 </tr>
92                 <tr>
93                   <td bgcolor="#999999">
94                     <b>SuSE 8.0/x86</b>
95                     <ul>
96                         <li><a href="archive/suse-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
97                         <li><a href="archive/suse-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
98                         <li><a href="archive/suse-80-i386/mono-0.16-1.i386.rpm">mono-0.16-1.i386.rpm</a>
99                         <li><a href="archive/suse-80-i386/mono-devel-0.16-1.i386.rpm">mono-devel-0.16-1.i386.rpm</a>
100                     </ul>
101                   </td>
102                   <td bgcolor="#999999">
103                     <b>Red Hat 8.0/x86</b>
104                     <ul>
105                         <li><a href="archive/redhat-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
106                         <li><a href="archive/redhat-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
107                         <li><a href="archive/redhat-80-i386/mono-0.16-1.i386.rpm">mono-0.16-1.i386.rpm</a>
108                         <li><a href="archive/redhat-80-i386/mono-devel-0.16-1.i386.rpm">mono-devel-0.16-1.i386.rpm</a>
109                     </ul>
110                   </td>
111                 </tr>
112                 <tr>
113                   <td bgcolor="#999999">
114                     <b>Linux s390</b>
115                     <ul>
116                         <li><a href="archive/s390/glib2-2.0.6-13.s390.rpm">glib2-2.0.6-13.s390.rpm</a>
117                         <li><a href="archive/s390/glib2-devel-2.0.6-13.s390.rpm">glib2-devel-2.0.6-13.s390.rpm</a>
118                         <li><a href="archive/s390/libgc-6.1alpha5-1.s390.rpm">libgc-6.1alpha5-1.s390.rpm</a>
119                         <li><a href="archive/s390/libgc-devel-6.1alpha5-1.s390.rpm">libgc-devel-6.1alpha5-1.s390.rpm</a>
120                         <li><a href="archive/s390/mono-0.16-1.s390.rpm">mono-0.16-1.s390.rpm</a>
121                         <li><a href="archive/s390/mono-devel-0.16-1.s390.rpm">mono-devel-0.16-1.s390.rpm</a>
122                     </ul>
123                   </td>
124                   <td bgcolor="#999999">\r
125                     <b>Windows Setup Wizard (NT/2000/XP)</b>\r
126                     <ul>\r
127                       <li><a href="archive/mono-0.16-stable.exe">Mono-Setup</a>\r
128                     </ul>\r
129                   </td>\r
130                 </tr>
131               </table>
132             </td>
133           </tr>
134           <tr>
135             <tr bgcolor="#CCCCC">
136             <td>
137               <b>Regression Tests</b><br>
138             </td>
139             <td>
140                 You can get binaries for the Mono Regression Test
141                 Suite <a href="archive/mono-tests.tar.gz">here</a>
142             </td>
143           </tr>
144           </tr>
145           </tbody>
146         </table>
147 <br>
148 * Older Releases:
149
150         We provide binaries for older releases until we have packages for the new release.
151
152
153         <table>
154           <tbody>
155           <tr bgcolor="#DDDDDD">
156             <td>
157               <b>Release 0.15</b><br>
158               <a href="archive/mono-0.15">Release notes</a><br>
159               Aug 23rd, 2002.
160             </td>
161             <td>
162               <table cellspacing="1" cellpadding="3">
163                 <tr bgcolor="#BBBBBB">
164                   <td>
165                     <b>Source Code</b>
166                   </td>
167                   <td>
168                     <ul>
169                       <li><a href="archive/mcs-0.15.tar.gz">Mono Class Libraries and C# Compiler.</a>
170                       <li><a href="archive/mono-0.15.tar.gz">Mono Runtime</a>
171                       <li><a href="archive/gc6.1alpha5.tar.gz">Boehm GC 6.1alpha5</a>
172                     </ul>
173                   </td>
174                 </tr>
175                 <tr bgcolor="#BBBBBB">
176                   <td>
177                      <b>Source RPMs</b>
178                   </td>
179                   <td>
180                     <ul>
181                         <li><a href="archive/libgc-6.1alpha5-1.src.rpm">libgc-6.1alpha5-1.src.rpm</a>
182                         <li><a href="archive/mono-0.15-1.src.rpm">mono-0.15-1.src.rpm</a>
183                     </ul>
184                   </td>
185                 </tr>
186                 <tr>
187                  <td></td>
188                 </tr>
189                 \r
190                 <tr bgcolor="#999999">\r
191                   <td>\r
192                     <b>Windows (win95 friendly)</b>\r
193                     <ul>\r
194                       <li><a href="archive/mono-w32-Aug_28_2002.zip">Mono-w32</a>\r
195                     </ul>\r
196                   </td>\r
197                   <td bgcolor="#999999">\r
198                     <b>Red Hat null-8.0/x86</b>\r
199                     <ul>\r
200                         <li><a href="archive/redhat-null-i386/libgc-6.1alpha5-1.i386.rpm">libgc-6.1alpha5-1.i386.rpm</a>\r
201                         <li><a href="archive/redhat-null-i386/libgc-devel-6.1alpha5-1.i386.rpm">libgc-devel-6.1alpha5-1.i386.rpm</a>\r
202                         <li><a href="archive/redhat-null-i386/mono-0.15-1.i386.rpm">mono-0.15-1.i386.rpm</a>\r
203                         <li><a href="archive/redhat-null-i386/mono-devel-0.15-1.i386.rpm">mono-devel-0.15-1.i386.rpm</a>\r
204                     </ul>\r
205                   </td>\r
206                 </tr>\r
207               </table>
208             </td>
209           </tr>
210           </tbody>
211         </table>
212
213 ** Binaries for other platforms.
214
215         Already daily volunteer's made binaries:
216
217         <ul>
218                 * <a href="http://www.debianplanet.org/mono/">DebianPlanet</a>
219                 * <a href="http://www.superin.formativ.net/mono/mono.htm">Windows</a> (works without cygwin!)
220         </ul>
221
222 * Snapshots
223
224 <a name="snapshots">
225
226         <a href="http://www.go-mono.com/snapshots">Nightly snapshots</a> of 
227         the CVS repository are made every day at 10pm EST (Boston
228         Time).  These are not guaranteed to build, they are just a
229         snapshot of the tree.
230
231         The <a href="anoncvs.html">anoncvs</a> mirrors provided by
232         Hispalinux are updated every six hours.
233
234 * Compiling with scripts
235
236         There are scripts to help build mono for both Unix and Windows.  Get
237         <a href="mono-build.sh">mono-build.sh</a> for Unix, or <a
238         href="mono-build-w32.sh">mono-build-w32.sh</a> for Windows.
239         These scripts automate the installation of GLIB and pkgconfig
240         (building from source on Unix, and using binary packages
241         provided by the GIMP for Windows project on Windows.)  To use
242         the script, follow these simple steps:
243
244         <ul>
245                 * Save the script for your platform somewhere (e.g. /usr/local/bin)
246                 * Make the script executable (i.e chmod 755 /usr/local/bin/mono-build.sh)
247                 * Create a directory to hold the mono source, and the compiled binaries (e.g. mkdir ~/mono)
248                 * Change to the new directory (i.e. cd ~/mono)
249                 * run the script (i.e. /usr/local/bin/mono-build.sh)
250         </ul>
251
252         The script requires wget on either platform, and building the
253         software requires make, gcc, automake, autoconf, and libtool.
254         You should install these packages from your distribution or
255         with the cygwin installer. You should also take care of setting
256         the right environment variables as the PKG_CONFIG_FLAGS, etc.
257
258         The script will download required packages from
259         www.go-mono.com and do a cvs checkout of mono in the current
260         directory.  <b>IMPORTANT!:</b> The cvs server chosen defaults to 
261         anonymous cvs;
262         set your CVSROOT environment variable before running the script to
263         select a particular cvs server.
264
265 <a name="install">
266 ** Building the software manually
267
268         You will need to obtain the Mono dependencies first: <a
269         href="http://www.gtk.org">glib 2.x</a> and 
270         <a href="http://www.freedesktop.org/software/pkgconfig">pkg-config</a>.
271
272 *** Building on Linux
273
274         <ul>
275                 Unpack the Mono runtime distribution:
276                 <pre>
277                 tar xzvf mono-X.XX.tar.gz
278                 cd mono-X.XX
279                 
280                 </pre>
281                 <p>
282
283                 Then configure, compile and install:
284
285                 <pre>
286                 
287                 ./configure --prefix=/usr/local
288                 make
289                 make install</pre>
290
291                 This will give you a runtime, C# compiler and runtime
292                 libraries.  
293
294                 If you want to recompile the runtime and the compiler,
295                 follow these steps, first unpack the MCS package:
296
297                 <pre>
298                 tar xzvf mcs-X.XX.tar.gz
299                 
300                 cd mcs-X.XX
301                 </pre>
302
303                 Then use the following command to compile and install:
304
305                 <pre>
306                 
307                 make -f makefile.gnu install prefix=/usr/local
308                 </pre>
309
310                 You can change /usr/local to something else if you want.
311         </ul>
312         
313 *** On Windows, to install and work on the compiler and the class libraries:
314
315 **** Install Cygwin and the GNU build tools, Microsoft's .NET Framework SDK and the precompiled GLIB 2.0 and pkg-config libraries.
316
317         <ul>
318
319                 * Install <a href="http://www.cygwin.com">Cygwin</a>.
320
321                 * Install <a href="http://msdn.microsoft.com/downloads">
322                   Microsoft .NET Framework SDK</a>.
323
324                 * Change to the /usr/local directory
325                   of your Cygwin installation.<br>
326                   Unzip the precompiled packages listed above.
327
328         </ul>
329         <ul>
330                 
331                 * If you downloaded the Mono 
332                 <a href="http://www.go-mono.com/snapshots">nightly snapshot
333                 </a>, untar the snapshot.
334
335                 * Change directories to "mcs".
336
337                 * Compile:
338                 
339                 <pre>
340                 make
341                 </pre>
342         </ul>
343
344 *** On Windows, to compile the mono runtime:
345
346         <ul>
347                 
348                 * If you downloaded the Mono 
349                   <a href="http://www.go-mono.com/snapshots">nightly snapshot
350                   </a>, untar the snapshot.
351
352                 * Change directories to "mono".
353
354                 * Configure, compile and install:
355                 <pre>
356                 ./configure --prefix=c:/mono
357                 make
358                 make install
359                 </pre>
360
361         </ul>
362
363 * Software resources and notes
364
365                 The required and additional software can be downloaded here:
366
367                 * Microsoft's .NET Framework SDK from 
368                   <a href="http://msdn.microsoft.com/downloads">
369                   msdn.microsoft.com/downloads</a>.
370
371                 * Cygwin and the GNU Make tools from  
372                   <a href="http://www.cygwin.com">www.cygwin.com</a>.
373                   Some people observed problems with autoconf 2.52. Installing 
374                   autoconf 2.13 helped in those cases.
375
376                 * Precompiled GLIB 2.0 and pkg-config packages (and
377                   their dependencies) by the <a href="http://www.gimp.org/~tml/gimp/win32//index.html">GIMP for Windows</a> project from
378                   <a href="http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip">http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip</a><br>
379                   <a href="http://www.go-mono.com/archive/glib-2.0.4-20020703.zip">http://www.go-mono.com/archive/glib-2.0.4-20020703.zip</a> <br>
380                   <a href="http://www.go-mono.com/archive/glib-dev-2.0.4-20020703.zip">http://www.go-mono.com/archive/glib-dev-2.0.4-20020703.zip</a> <br>
381                   <a href="http://www.go-mono.com/archive/libiconv-1.7.zip">http://www.go-mono.com/archive/libiconv-1.7.zip</a> <br>
382                   <a href="http://www.go-mono.com/archive/libiconv-dev-1.7.zip">http://www.go-mono.com/archive/libiconv-dev-1.7-20020101.zip</a> <br>
383                   <a href="http://www.go-mono.com/archive/libintl-0.10.40-20020101.zip">http://www.go-mono.com/archive/libintl-0.10.40-20020101.zip</a><br>
384
385
386                 * Download the Mono source code from the
387                   <a href="#feb-11">packaged versions</a> or
388                   the <a href="http://www.go-mono.com/snapshots">
389                   nightly snapshots</a> or the <a href="anoncvs.html">
390                   Anonymous CVS</a>.  The nightly snapshots are done every 
391                   night at 10pm EST (Boston Time). The nightly snapshots are 
392                   not guaranteed to build, but most of the time they should.
393
394
395         </ul>
396
397
398 *** Notes on compiling GLIB 2.0 and pkg-config from source:
399
400
401         <ul>
402
403                 * Some people observed problems with autoconf 2.52. Installing 
404                   autoconf 2.13 helped in those cases (don't forget to do a
405                   `make maintainer-clean' after the update).
406
407                 * Download, compile and install <a href="http://www.freedesktop.org/software/pkgconfig">pkg-config</a> from source.
408                   (I had to change line 674 of
409                   <nobr><tt>pkg-config-0.8.0/glib-1.2.8/gstrfuncs.c</tt></nobr> from 
410                   <nobr><tt>extern char *strsignal (int sig);</tt></nobr> to
411                   <nobr><tt>extern const char *strsignal (int sig);</tt></nobr>.
412
413 <pre>
414 tar xzvf pkg-config-0.8.0.tar.gz
415 cd pkg-config-0.8.0
416 ./configure --prefix=/usr
417 make
418 make install
419 </pre>
420
421                 * Download, compile and install <a href="ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.7.tar.gz">libiconv</a> from source.<br>
422                   If you dont have MS Visual C/C++ 4.0 or 5.0 or 6.0 you can also try
423                   the binary package available at <a
424                   href="http://www.gimp.org/win32/libiconv-dev-20001007.zip">
425                   http://www.gimp.org/win32/libiconv-dev-20001007.zip</a>.
426
427  
428                 * Download, compile and install the 
429                   <a href="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.6.tar.gz">
430                   glib 2.0</a> from source.
431
432         </ul>
433