Переглянути джерело

removed

svn path=/trunk/mono/; revision=5884
Miguel de Icaza 23 роки тому
батько
коміт
6642017c87
2 змінених файлів з 0 додано та 2588 видалено
  1. 0 1294
      doc/mono-beginning-xml
  2. 0 1294
      web/mono-beginning-xml

+ 0 - 1294
doc/mono-beginning-xml

@@ -1,1294 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" []>
-<article>
-
-  <articleinfo>
-
-    <!-- Use "HOWTO", "mini HOWTO", "FAQ" in title, if appropriate -->
-    <title>Running Mono</title>
-
-
-    <author>
-       <firstname>Hinne</firstname>
-       <surname>Hettema</surname>
-       <affiliation>
-          <address><email>[email protected]</email></address>
-       </affiliation>
-     </author>
-    <author>
-       <firstname>Jaime</firstname>
-       <surname>Anguiano Olarra</surname>
-       <affiliation>
-          <address><email>[email protected]</email></address>
-       </affiliation>
-     </author>
-
-     <pubdate>2002-06</pubdate>
-
-     <!-- Most recent revision goes at the top; list in descending order -->
-     <!-- All dates specified in ISO "YYYY-MM-DD" format -->
-     <revhistory>
-       <revision>
-          <revnumber>0.1</revnumber>
-          <date>2002-06-20</date>
-          <authorinitials>HH</authorinitials>
-          <revremark>First release</revremark>
-       </revision>
-     </revhistory>
-
-     <!-- Provide a good abstract; a couple of sentences is sufficient -->
-     <abstract>
-        <para>
-	This document describes how to install mono on your Linux system 
-	from the source and describes some simple experiments you can
-	perform with this installation.
-	</para>
-     </abstract>
-
-  </articleinfo>
-
-
-<sect1 id="intro">
-<title>Introduction</title>
-
-<para>
-Mono is an open source implementation of the Common Language Infrastructure
-(CLI) specified in ECMA standard 335. It comes with a C# compiler and
-provides an extensible platform to develop and run applications that
-are interoperable with Microsoft .NET.
-</para>
-
-<para>
-Mono is not finished--it is a project still under development. As a
-result, installation and configuration may not be as smooth as you
-will be used to from other Linux applications. Nevertheless, mono is
-in a state that will allow you to get it up and running and gain
-experience with it--which is, I would suggest, a very smart thing to do.
-</para>
-
-<para>
-This document is limited in the following sense: it describes how to
-download a 'stable' version of mono as a 'tarball' and get it to run on
-your computer. I'm also assuming you run mono on Linux rather than
-on Windows. All the examples have been tested on a 'vanilla' Red Hat 7.3 
-installation.
-</para>
-
-<para>
-There are two items this document will <emphasis>not 
-</emphasis> cover: the first is how to self host the mcs compiler 
-under linux and the second is the graphical user environment 
-which is implemented as GTK#. These two interesting topics 
-are the subject of two more howto's that I'm planning.
-</para>
-
-<para>
-This document is also less useful for two types of people.
-</para> 
-<itemizedlist> 
-<listitem> 
-<para> 
-If you are a very inexperienced linux user and want to know what mono is
-all about, there is an easier way to install mono. Go to mono.baselabs.org
-and download the rpm's ready for installation on your system. This site also
-runs a tutorial that is worth reading.
-</para> 
-</listitem> 
-<listitem> 
-<para> 
-If you are a very experienced user wanting to contribute to the mono code,
-you should probably regularly do a CVS download. At the moment, the mono
-code grows very fast, and the 'stable' releases still appear too slowly.
-</para>
-</listitem>
-
-</itemizedlist>
-
-<para>
-This document is aimed at the mono beginner, and aims to present a complete
-view of a minimal installation, which will allow you to experiment with
-mono to some degree. It also describes some of those experiments. We
-expect that after reading this document you'll go on to do either of
-two things:
-</para>
-<orderedlist>
-<listitem>
-<para>
-Continue to contribute to the mono project in some shape or form. The
-website has some ideas and suggestions under the heading 'Contributing'.
-</para>
-</listitem>
-<listitem>
-<para>
-Continue to write applications that run in mono. 
-</para>
-</listitem>
-</orderedlist>
-
-<para>
-We hope this document will be useful to you in your first steps with mono.
-Happy hacking!
-</para>
-
-<sect2 id="note">
-<title>A note on the development of this document</title>
-<para>
-This document is expected to grow into a full 'running mono howto' over time.
-As of yet, it does not really discuss some of the excellent efforts of others
-to package mono into an rpm or deb and prepare it for easy installation.
-It is our aim to include this in future versions of this document.
-</para>
-</sect2>
-
-<sect2 id="prerequisites">
-<title>Prerequisites</title>
-<para>
-This document assumes you are somewhat familiar with the architecture
-of the Common Language Infrastructure and the C# programming language.
-</para>
-
-<para>
-To compile mono on your system, you will also have to satisfy 
-some dependencies on other software. A list of these are given 
-on the mono download page. Read through this list to see if 
-you've got all components. 
-</para>
-
-<para>
-On a practical note, I had no dependency issues with the 
-installation of mono 0.12 on a 'standard issue' Red Hat 7.3 build.
-</para>
-
-</sect2>
-
-<sect2 id="disclaimer"> <title>Disclaimer</title>
-
-<para> 
-No liability for the contents of this document can be accepted.
-Use the concepts, examples and information at your own risk.  There may
-be errors and inaccuracies, that could be damaging to your system.
-Proceed with caution, and although this is highly unlikely, the author(s)
-do not take any responsibility.  
-</para>
-
-<para> 
-All copyrights are held by their by their respective owners,
-unless specifically noted otherwise.  Use of a term in this document
-should not be regarded as affecting the validity of any trademark or
-service mark.  Naming of particular products or brands should not be
-seen as endorsements.  
-</para> 
-</sect2>
-
-<!-- Give credit where credit is due...very important --> <sect2
-id="credits"> <title>Credits / Contributors</title>
-
-<para> This document was originally created by Jaime Anguiano Olarra,
-but has been extensively rewritten. Credits are due to </para>
-<itemizedlist> 
-<listitem> 
-<para>Jaime Anguiano Olarra <email>[email protected]</email> 
-for creating the original version of this document, and in fact 
-the document that got me through installing mono for the first time.
-</para> 
-</listitem> 
-<listitem>
-<para>
-My partner Margaret for support on my more exotic ventures.
-</para>
-</listitem>
-</itemizedlist> 
-</sect2>
-
-<!-- Feedback --> 
-<sect2 id="feedback"> <title>Feedback</title>
-
-<para> 
-Feedback is most certainly welcome for this document. Send your
-additions, comments and criticisms to the following email address:
-<email>[email protected]</email>. I am lurking on this list 
-and will maintain this document as required.  
-</para> 
-</sect2>
-</sect1>
-
-<!-- This is the preamble stuff over with the rest of document
-follows... --> 
-<sect1 id="installation"> 
-<title> Installing Mono</title>
-
-<sect2 id="obtaining"> 
-<title>Obtaining Mono</title> 
-<para> 
-There are several ways to get Mono running on your computer. This
-document will discuss only one of those: downloading the source tarball
-and utilising the make utilities to get mono up and running.  There is
-only one mono package to worry about if you are just after a 'base' install
-of mono: the mono runtime. This package, found under the name "mono-x.xx"
-has got a compiled version of the compiler built in.
-</para>
-
-<para>
-You'll be able to complete everything in this document if you just install
-the runtime, but taking a look at the compiler package is well worth the
-effort. The compiler is written in C# and is 'self hosting' which means it
-is able to compile itself. 
-</para>
-
-<para>
-As of this moment, it is my understanding that there are still some issues
-with the 'self hosting' bit of the compiler on linux, although this is 
-expected to work in later versions of mono. If you are just interested in
-finding out how mono will work under linux, I would not worry about the
-self-hosting bit for now. The self-hosting of the compiler will be the
-topic of a future howto.
-</para>
-
-<para> 
-See <ulink url="http://www.go-mono.com/download">the mono download
-site</ulink> for the source of the tarballs.  
-</para>
-
-<para>
-This page also lists the current versions of the software 
-mono depends on. Make sure that your system has all the 
-required versions, otherwise mono won't compile.
-</para>
-
-<para>
-At a minimum for mono 0.12, you'll need to:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-download and install
-<ulink url="http//www.freedesktop.org/software/pkgconfig">
-pkg-config</ulink>.
-</para>
-</listitem>
-<listitem>
-<para>
-download and install
-<ulink url="ftp://ftp.gtk.org/pub/gtk/v1.3/glib-1.3.12.tar.gz">
-glib 1.3</ulink>.
-</para>
-</listitem>
-</itemizedlist>
-
-<para> 
-Installing the tarballs is done via GNU autoconf and
-automake. The general upshot of running autoconf and automake is that you
-can type <command>./configure</command> and then <command> make</command>
-to do the build.  
-Typing <command>make install</command> completes the installation of mono
-on your system.
-</para>
-
-<para>
-To build the mono runtime package, unzip the tarball to some useful
-location.  I tend to use <command>/usr/src</command> as the location,
-but you could really do it anywhere. For the install process, it is
-also a good idea to be 'root'.  The installation process will shuttle
-some executables into <command>/usr/local/bin</command> (more about
-that later).
-</para>
-
-<para>
-Unzipping the tarballs will have created two directories in <command>
-/usr/src/</command>, one called something like mono-x.xx and the other 
-mcs-x.xx. The one called 'mono' is the runtime environment, and this contains
-all that is initially needed to run mono and investigate its inner workings.
-</para>
-
-<para>
-To start building the mono runtime, first type <command>./configure</command>.
-You will see an output like this:
-</para>
-<programlisting>
-[root@taurus mono-0.12]# ./configure
-loading cache ./config.cache
-checking host system type... i686-pc-linux-gnu
-checking target system type... i686-pc-linux-gnu
-checking build system type... i686-pc-linux-gnu
-checking for a BSD compatible install... (cached) /usr/bin/install -c
-checking whether build environment is sane... yes
-checking whether make sets ${MAKE}... (cached) yes
-checking for working aclocal... found
-
-
-snip ....
-
-
-checking BASE_DEPENDENCIES_CFLAGS...  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-checking BASE_DEPENDENCIES_LIBS...  -lglib-2.0
-checking for GC_malloc in -lgc... (cached) no
-configure: warning: Compiling mono without GC.
-checking if off_t is 64 bits wide... no
-checking if _FILE_OFFSET_BITS=64 gives 64 bit off_t... ok
-
-snip ...
-
-creating Makefile
-creating mono/Makefile
-creating mono/utils/Makefile
-creating mono/metadata/Makefile
-creating mono/dis/Makefile
-creating mono/cil/Makefile
-creating mono/arch/Makefile
-creating mono/os/Makefile
-creating mono/os/win32/Makefile
-creating mono/os/unix/Makefile
-creating mono/arch/x86/Makefile
-creating mono/arch/ppc/Makefile
-creating mono/arch/sparc/Makefile
-creating mono/arch/arm/Makefile
-creating mono/interpreter/Makefile
-creating mono/tests/Makefile
-creating mono/benchmark/Makefile
-creating mono/monoburg/Makefile
-creating mono/monograph/Makefile
-creating mono/jit/Makefile
-creating mono/io-layer/Makefile
-creating mono/handles/Makefile
-creating runtime/Makefile
-creating scripts/Makefile
-creating man/Makefile
-creating doc/Makefile
-creating docs/Makefile
-creating config.h
-config.h is unchanged
-
-
-        GC:     auto
-
-
-[root@taurus mono-0.12]#
-</programlisting>
-
-
-<para>
-This means that the configure script has now created all the 
-makefiles necessary to complete the build on your system. 
-Note the "GC: auto" at the end of the list of commands. 
-GC stands for "garbage collection" and it
-will be addressed in a later section of this document.
-</para>
-<para>
-You are now ready to start the mono "build" process. To kick 
-this off, you can type <command>make</command> at the 
-command prompt. You'll see something like this:
-</para>
-
-<programlisting>
-[root@taurus mono-0.12]# make
-make  all-recursive
-make[1]: Entering directory `/usr/src/mono-0.12'
-Making all in mono
-make[2]: Entering directory `/usr/src/mono-0.12/mono'
-Making all in utils
-make[3]: Entering directory `/usr/src/mono-0.12/mono/utils'
-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/glib-2.0 
--I/usr/lib/glib-2.0/include   -I/usr/include/glib-2.0 
--I/usr/lib/glib-2.0/include   -I../.. -I../../mono   
--D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE   -g -Wall 
--Wunused -Wmissing-prototypes -Wmissing-declarations 
--Wstrict-prototypes  -Wmissing-prototypes -Wnested-externs 
--Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings 
--c mono-hash.c
-
-</programlisting>
-<para>
-and this will continue for a while. On my 1 GHz Duron with 256 MB of RAM the 
-total build process takes about three minutes. All the terrible flags after gcc
-have essentially been set by the configure script and there is no need to worry
-about these.
-</para>
-<para>
-To finally install mono, you can type <command>make install</command> 
-to get a working version of mono. This command will copy the 
-scripts that run the executables to a place where the operating system
-will be ale to find them. This location is <command>/usr/local/bin</command>
-on my system. 
-</para>
-
-</sect2>
-
-<sect2 id="garbage_collection">
-<title> Garbage Collection</title>
-<para>
-To make the mint interpreter work with garbage collection, you first need to
-install a garbage collection package on your system. Mono works with
-Boehm Garbage collection, which is found at 
-<ulink url="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">
-http://www.hpl.hp.com/personal/Hans_Boehm/gc/
-</ulink>.
-</para>
-
-<para>
-To get garbage collection to work, I downloaded the source tarball 
-into <command>/usr/src/</command> and typed <command>./configure</command>
-followed by <command>make</command> and <command>make install</command>.
-</para>
-
-<para>
-There is one glitch to work around. The header file for the garbage collection
-<command>gc.h</command> is found in the <command>/usr/src/gc6.0/include
-</command> directory (at least on my system). The mono build process will break
-on this location: it is looking for the header file in some other place called
-<command>/usr/include/gc/</command> and won't be able to find the correct
-header file.
-</para>
-
-<para>
-The solution is to build a symbolic link between these two locations as 
-follows
-</para>
-
-<programlisting>
-[root@taurus include]# ln -s /usr/src/gc6.0/include/ /usr/include/gc
-</programlisting>
-
-<para>
-after which you'll be able to list the directory contents as if they were
-in <command>/usr/include</command>
-</para>
-
-<programlisting>
-[root@taurus include]# pwd
-/usr/include
-[root@taurus include]# ls /usr/include/gc
-cord.h                gc_backptr.h  gc_inline.h             javaxfc.h
-ec.h                  gc_cpp.h      gc_local_alloc.h        leak_detector.h
-gc                    gc_gcj.h      gc_mark.h               new_gc_alloc.h
-gc_alloc.h            gc.h          gc_pthread_redirects.h  private
-gc_amiga_redirects.h  gc_inl.h      gc_typed.h              weakpointer.h
-[root@taurus include]#
-</programlisting>
-
-<para>
-To get mono to work with garbage collection, you'll have to rebuild the
-environment. This is done easily by typing <command>make distclean</command>
-to clean up any existing executables.
-</para>
-
-<para>
-Continue the build by typing <command>./configure</command>, and look at
-the last line. It should read:
-</para>
-
-<programlisting>
-
-snip...
-
-creating config.h
-
-
-        GC:     boehm
-
-
-[root@taurus mono-0.12]#
-
-</programlisting>
-
-<para>
-The GC: boehm tells you that garbage collection has been turned on. Now to
-compile the runtime, you type <command>make</command> and <command> make
-install</command> as previously.
-</para>
-
-<para>
-You now have mono working with Garbage Collection.
-</para>
-
-<para>
-Although my experimentation is incomplete as of this time, I have found some
-issues with running Garbage Collection continuously, and my recommendation
-would be to turn it off for now.
-</para>
-
-<para>
-To turn garbage collection off again, you have to go to the <command>/usr/src
-</command> directory where you extracted the tarball. Enter the <command>gc6.0
-</command> directory and type <command>make uninstall</command> to uninstall 
-Garbage Collection. Then in your <command>mono</command> directory, type
-<command>make distclean</command> followed by <command>./configure</command>,
-<command>make</command> and <command>make install</command>.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="running">
-<title>Running mono</title>
-<sect2 id="basic">
-<title>Basic steps</title>
-<para>
-To work with mono, you first have to create a C# program. Open up 
-your favourite editor, and type in the following code:
-</para>
-<programlisting>
-using System;
-
-class Hello
-{
-public static void Main(String[] args)
-	{
-	Console.WriteLine("mono:: is alive and well...");
-
-	for (int i = 0; i < args.Length; i++)
-		Console.WriteLine("Argument {0} = {1}", i, args[i]);
-	}
-}
-</programlisting>
-
-<para>
-Save the file as hello.cs. To compile this into a working program, 
-type mcs hello.cs. If you get the following:
-</para>
-<programlisting>
-[hinne@taurus hello]$ mcs hello.cs
-RESULT: 0
-[hinne@taurus hello]$
-</programlisting>
-<para>
-you know the compile worked fine. If you see some strange error
-messages including the word 'parser' somewhere, you made a mistake in
-your program. Fix this up first.
-</para>
-
-<para>
-You are now ready to execute your first mono program.  To execute 
-the code, type
-</para>
-
-<programlisting>
-[hinne@taurus hello]$ mono hello.exe arg1 arg2 arg 3
-</programlisting>
-<para>
-(where we have given some arguments just for fun) and you'll 
-see the following:
-</para>
-
-<programlisting>
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg2
-Argument 2 = arg
-Argument 3 = 3
-RESULT: 0
-</programlisting>
-<para>
-As you can see, mono printed the line "mono:: is alive and well" 
-and printed the list of arguments. This completes the creation 
-and execution of your first mono program.
-</para>
-</sect2>
-
-<sect2 id="interpreter">
-<title>Interpreter</title>
-<para>
-But mono will allow you to do more. First of all, mono is the 
-compiled mono execution environment which uses the Just in 
-Time (JIT) compiler. Mono also comes with an interpreted 
-environment, which can be accessed using the command 'mint' 
-as follows
-</para>
-<programlisting>
-[hinne@taurus hello]$ mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-[hinne@taurus hello]$
-</programlisting>
-<para>
-As you can see, it makes no difference to mono output which 
-environment you use, but what happens under the hood is very 
-different. If you use 'mono' as the command line tool, you 
-call the 'production' execution environment which will read 
-your portable executable (PE) file, and call the just in 
-time (JIT) compiler to compile the PE code down to machine 
-level code (in my case, an x86 architecture) after which 
-it is executed.
-</para>
-<para>
-If you use mint, the JIT is not used, and the PE code is 
-interpreted into x86 instructions for execution. In fact, 
-for our simple 'hello' mint is slightly faster. The point 
-is that the JIT compiler will take some time to compile the 
-code of our program and store it in some location in memory, 
-but the subsequent execution of the code is faster with mono.
-</para>
-<para>
-
-You can see what happens below (the thing to look for is the 
-'user' time: 0.1 seconds with mono and 0.06 seconds with mint):
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ time mono hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-RESULT: 0
-
-real    0m0.575s
-user    0m0.100s
-sys     0m0.010s
-[hinne@taurus hello]$ time mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-
-real    0m0.545s
-user    0m0.060s
-sys     0m0.000s
-[hinne@taurus hello]$
-</programlisting>
-<para>
-After this simple run of mono, it is time to play with some options. 
-I won't cover these in detail since there are quite a few, and also because
-I assume you downloaded mono to hack it around in the first place. So
-I'll leave some pointers.
-</para>
-
-
-<sect3 id="debugging">
-<title>Debugging</title>
-<para>
-Mono supports a debugging option when you specify the "-d" flag while running
-the runtime. Utilising this flag will get you a significant amount of output,
-and it may be an idea to specify an output file as well. The interesting aspect
-of this file is that it allows you to see to some extent (quite precisely,
-actually) what the JIT compiler is up to.
-</para>
-</sect3>
-
-<sect3 id="statistics">
-<title>Statistics</title>
-<para>
-It is also possible to collect some runtime statistics on your program. These
-will give you some idea of the resource utilisation of your program.
-</para>
-<programlisting>
-[hinne@taurus hello]$ mono --stats hello.exe
-mono:: is alive and well...
-RESULT: 0
-Mono Jit statistics
-Compiled methods:       58
-Methods cache lookup:   15
-Method trampolines:     698
-Basic blocks:           188
-Max basic blocks:       15
-Allocated vars:         238
-Analyze stack repeat:   61
-Compiled CIL code size: 2450
-Native code size:       10167
-Max code size ratio:    7.13 (FileStream::FlushBuffer)
-Biggest method:         1016 (StreamWriter::Write)
-Code reallocs:          27
-Allocated code size:    22073
-Inlineable methods:     17
-Inlined methods:        22
-
-Created object count:   18
-Initialized classes:    127
-Used classes:           37
-Static data size:       288
-VTable data size:       8292
-</programlisting>
-</sect3>
-
-</sect2>
-
-<sect2 id="ILAsm_code" >
-<title>Inspecting IL Assembly code</title>
-<para>
-Mono also provides a small tool that will let you disassemble 
-the executable (.exe) file so you can have a peek 
-under the hood. This tool is monodis, and is run as 
-follows:
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ monodis hello.exe
-.assembly extern mscorlib
-{
-  .ver 0:0:0:0
-}
-.assembly 'hello'
-{
-  .hash algorithm 0x00008004
-  .ver  0:0:0:0
-}
-  .class private auto ansi beforefieldinit Hello
-        extends [mscorlib]System.Object
-  {
-
-    // method line 1
-    .method public hidebysig  specialname  rtspecialname
-           instance default void .ctor()  cil managed
-    {
-        // Method begins at RVA 0x20ec
-        // Code size 7 (0x7)
-        .maxstack 8
-        IL_0000: ldarg.0
-        IL_0001: call instance void System.Object::.ctor()
-        IL_0006: ret
-    } // end of method instance default void .ctor()
-
-    // method line 2
-    .method public static
-           default void Main(string[] args)  cil managed
-    {
-        // Method begins at RVA 0x20f4
-        .entrypoint
-        // Code size 56 (0x38)
-        .maxstack 5
-        .locals init (
-                int32   V_0,
-                int32   V_1)
-        IL_0000: ldstr "mono:: is alive and well..."
-        IL_0005: call void System.Console::WriteLine(string)
-        IL_000a: ldc.i4.0
-        IL_000b: stloc.0
-        IL_000c: ldloc.0
-        IL_000d: ldarg.s 0
-        IL_000f: ldlen
-        IL_0010: clt
-        IL_0012: brfalse IL_0037
-
-        IL_0017: ldstr "Argument {0} = {1}"
-        IL_001c: ldloc.0
-        IL_001d: box [mscorlib]System.Int32
-        IL_0022: ldarg.s 0
-        IL_0024: ldloc.0
-        IL_0025: ldelem.ref
-        IL_0026: call void System.Console::WriteLine(string, object, object)
-        IL_002b: nop
-        IL_002c: ldloc.0
-        IL_002d: ldc.i4.1
-        IL_002e: add
-        IL_002f: stloc.1
-        IL_0030: ldloc.1
-        IL_0031: stloc.0
-        IL_0032: br IL_000c
-
-        IL_0037: ret
-    } // end of method default void Main(string[] args)
-
-  } // end of type Hello
-
-[hinne@taurus hello]$
-</programlisting>
-<para>
-This is the listing of the code of your program in a language 
-called IL assembly, or Common Intermediate Language (CIL). The 
-CIL provides the portability of the mono platform, and ensures 
-that code compiled with Microsoft's .NET framework will work 
-on mono and vice versa. 
-</para>
-</sect2>
-
-<sect2 id="man_pages">
-<title>Man pages</title>
-
-<para>
-Mono has man pages already installed, and generally, typing <command>
-man</command> before the command you wish to execute should help in 
-getting a list of the options. In many cases, it's still up to you
-to figure out what they do.
-</para>
-
-</sect2>
-
-
-</sect1>
-
-
-<sect1 id="problems">
-<title>Problems</title>
-<para> 
-With mono being as new as it is, it is likely that you will have some
-problems with installation. The following are some ideas to help you
-out in a bind:
-</para>
-
-<orderedlist>
-<listitem>
-<para> 
-See the Ximian Bugzilla page to find out if there is a bug
-report about your specific issue.
-</para>
-</listitem>
-
-<listitem>
-<para>Read this document.  If it does not solve your problem, we want to
-know about it. Please send a message to the email address listed for
-feedback at the beginning of the document.</para>
-</listitem>
-
-<listitem>
-
-<para> 
-Visit the mono mailing lists' archives and do a little
-research in there for threads talking about the problem you have.
-</para>
-</listitem>
-
-<listitem>
-<para> 
-If you still cannot correct the problem, send a message to the
-mono list. When you do this, please be as precise as possible--i.e.
-mention the system you are running, the version of mono that you have the 
-problem with, and give any error codes and other output that might appear.
-</para>
-</listitem>
-</orderedlist>
-
-</sect1>
-
-<sect1 id="knownproblems">
-<title>Known Problems</title>
-
-<para> mcs fails to compile in Linux.
-To the best of my knowledge, as of yet mcs cannot compile in Linux. 
-Try to install the already made packages from 
-http://mono.baselabs.org/index.php/software. </para>
-</sect1>
-
-<!-- Legal Sections --> <sect1 id="copyright">
- <title>Copyright and License</title>
-
- <!-- The LDP recommends, but doesn't require, the GFDL --> <para>
-     This document, <emphasis>Running mono</emphasis>, is copyrighted
-     (c) 2002 by <emphasis>Hinne Hettema</emphasis> and
-     <emphasis>Jaime Anguiano Olarra</emphasis>.  Permission is
-     granted to copy, distribute and/or modify this document under the
-     terms of the GNU Free Documentation License, Version 1.1 or any later
-     version published by the Free Software Foundation; with no Invariant
-     Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
-     A copy of the license is included in the section entitled "GNU Free
-     Documentation License".
- </para>
-
-<sect2 id="gfdl"> <title>GNU Free Documentation License</title> 
-<!-- GNU Project - Free Software Foundation (FSF) -->
-
-<para>Version 1.1, March 2000</para>
-
-<blockquote> <para>Copyright (C) 2000  Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA	02111-1307  USA Everyone is
-permitted to copy and distribute verbatim copies of this license document,
-but changing it is not allowed.</para> </blockquote>
-
-<sect3 id="gfdl-0"> <title>PREAMBLE</title>
-
-<para>The purpose of this License is to make a manual, textbook,
-    or other written document "free" in the sense of freedom: to assure
-    everyone the effective freedom to copy and redistribute it, with
-    or without modifying it, either commercially or noncommercially.
-    Secondarily, this License preserves for the author and publisher
-    a way to get credit for their work, while not being considered
-    responsible for modifications made by others.</para>
-
-<para>This License is a kind of "copyleft", which means that
-    derivative works of the document must themselves be free in the
-    same sense.  It complements the GNU General Public License, which
-    is a copyleft license designed for free software.</para>
-
-<para>We have designed this License in order to use it for manuals
-    for free software, because free software needs free documentation:
-    a free program should come with manuals providing the same freedoms
-    that the software does.  But this License is not limited to software
-    manuals; it can be used for any textual work, regardless of subject
-    matter or whether it is published as a printed book.  We recommend
-    this License principally for works whose purpose is instruction
-    or reference.</para>
-</sect3>
-
-<sect3 id="gfdl-1"> <title>APPLICABILITY AND DEFINITIONS</title>
-
-<para>This License applies to any manual or other work that
-    contains a notice placed by the copyright holder saying it can be
-    distributed under the terms of this License.  The "Document", below,
-    refers to any such manual or work.	Any member of the public is a
-    licensee, and is addressed as "you".</para>
-
-<para>A "Modified Version" of the Document means any work
-    containing the Document or a portion of it, either copied verbatim,
-    or with modifications and/or translated into another language.</para>
-
-<para>A "Secondary Section" is a named appendix or a front-matter
-    section of the Document that deals exclusively with the relationship
-    of the publishers or authors of the Document to the Document's overall
-    subject (or to related matters) and contains nothing that could fall
-    directly within that overall subject.  (For example, if the Document
-    is in part a textbook of mathematics, a Secondary Section may not
-    explain any mathematics.)  The relationship could be a matter of
-    historical connection with the subject or with related matters, or
-    of legal, commercial, philosophical, ethical or political position
-    regarding them.</para>
-
-<para>The "Invariant Sections" are certain Secondary Sections
-    whose titles are designated, as being those of Invariant Sections,
-    in the notice that says that the Document is released under this
-    License.</para>
-
-<para>The "Cover Texts" are certain short passages of text that
-    are listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-    that says that the Document is released under this License.</para>
-
-<para>A "Transparent" copy of the Document means a
-    machine-readable copy, represented in a format whose specification
-    is available to the general public, whose contents can be viewed and
-    edited directly and straightforwardly with generic text editors
-    or (for images composed of pixels) generic paint programs or
-    (for drawings) some widely available drawing editor, and that is
-    suitable for input to text formatters or for automatic translation
-    to a variety of formats suitable for input to text formatters.
-    A copy made in an otherwise Transparent file format whose markup
-    has been designed to thwart or discourage subsequent modification
-    by readers is not Transparent.  A copy that is not "Transparent"
-    is called "Opaque".</para>
-
-<para>Examples of suitable formats for Transparent copies include
-    plain ASCII without markup, Texinfo input format, LaTeX input format,
-    SGML or XML using a publicly available DTD, and standard-conforming
-    simple HTML designed for human modification.  Opaque formats include
-    PostScript, PDF, proprietary formats that can be read and edited
-    only by proprietary word processors, SGML or XML for which the
-    DTD and/or processing tools are not generally available, and the
-    machine-generated HTML produced by some word processors for output
-    purposes only.</para>
-
-<para>The "Title Page" means, for a printed book, the title page
-    itself, plus such following pages as are needed to hold, legibly,
-    the material this License requires to appear in the title page.
-    For works in formats which do not have any title page as such,
-    "Title Page" means the text near the most prominent appearance of the
-    work's title, preceding the beginning of the body of the text.</para>
-</sect3>
-
-<sect3 id="gfdl-2"> <title>VERBATIM COPYING</title>
-
-<para>You may copy and distribute the Document in any medium,
-    either commercially or noncommercially, provided that this License,
-    the copyright notices, and the license notice saying this License
-    applies to the Document are reproduced in all copies, and that
-    you add no other conditions whatsoever to those of this License.
-    You may not use technical measures to obstruct or control the
-    reading or further copying of the copies you make or distribute.
-    However, you may accept compensation in exchange for copies.  If you
-    distribute a large enough number of copies you must also follow the
-    conditions in section 3.</para>
-
-<para>You may also lend copies, under the same conditions stated
-    above, and you may publicly display copies.</para>
-</sect3>
-
-<sect3 id="gfdl-3"> <title>COPYING IN QUANTITY</title>
-
-<para>If you publish printed copies of the Document numbering more
-    than 100, and the Document's license notice requires Cover Texts, you
-    must enclose the copies in covers that carry, clearly and legibly,
-    all these Cover Texts: Front-Cover Texts on the front cover, and
-    Back-Cover Texts on the back cover.  Both covers must also clearly
-    and legibly identify you as the publisher of these copies.	The front
-    cover must present the full title with all words of the title equally
-    prominent and visible.  You may add other material on the covers
-    in addition.  Copying with changes limited to the covers, as long as
-    they preserve the title of the Document and satisfy these conditions,
-    can be treated as verbatim copying in other respects.</para>
-
-<para>If the required texts for either cover are too voluminous to
-    fit legibly, you should put the first ones listed (as many as fit
-    reasonably) on the actual cover, and continue the rest onto adjacent
-    pages.</para>
-
-<para>If you publish or distribute Opaque copies of the Document
-    numbering more than 100, you must either include a machine-readable
-    Transparent copy along with each Opaque copy, or state in or with each
-    Opaque copy a publicly-accessible computer-network location containing
-    a complete Transparent copy of the Document, free of added material,
-    which the general network-using public has access to download
-    anonymously at no charge using public-standard network protocols.
-    If you use the latter option, you must take reasonably prudent steps,
-    when you begin distribution of Opaque copies in quantity, to ensure
-    that this Transparent copy will remain thus accessible at the stated
-    location until at least one year after the last time you distribute
-    an Opaque copy (directly or through your agents or retailers) of
-    that edition to the public.</para>
-
-<para>It is requested, but not required, that you contact the
-    authors of the Document well before redistributing any large number
-    of copies, to give them a chance to provide you with an updated
-    version of the Document.</para>
-</sect3>
-
-<sect3 id="gfdl-4"> <title>MODIFICATIONS</title>
-
-<para>You may copy and distribute a Modified Version of the
-    Document under the conditions of sections 2 and 3 above, provided
-    that you release the Modified Version under precisely this License,
-    with the Modified Version filling the role of the Document, thus
-    licensing distribution and modification of the Modified Version
-    to whoever possesses a copy of it.	In addition, you must do these
-    things in the Modified Version:</para>
-
-<orderedlist numeration="upperalpha"> <listitem><para>Use in the
-Title Page
-      (and on the covers, if any) a title distinct from that of the
-      Document, and from those of previous versions (which should, if
-      there were any, be listed in the History section of the Document).
-      You may use the same title as a previous version if the original
-      publisher of that version gives permission.</para>
-</listitem>
-
-<listitem><para>List on the Title Page,
-      as authors, one or more persons or entities responsible for
-      authorship of the modifications in the Modified Version, together
-      with at least five of the principal authors of the Document (all
-      of its principal authors, if it has less than five).</para>
-</listitem>
-
-<listitem><para>State on the Title page
-      the name of the publisher of the Modified Version, as the
-      publisher.</para>
-</listitem>
-
-<listitem><para>Preserve all the
-      copyright notices of the Document.</para>
-</listitem>
-
-<listitem><para>Add an appropriate
-      copyright notice for your modifications adjacent to the other
-      copyright notices.</para>
-</listitem>
-
-<listitem><para>Include, immediately
-      after the copyright notices, a license notice giving the public
-      permission to use the Modified Version under the terms of this
-      License, in the form shown in the Addendum below.</para>
-</listitem>
-
-<listitem><para>Preserve in that license
-      notice the full lists of Invariant Sections and required Cover
-      Texts given in the Document's license notice.</para>
-</listitem>
-
-<listitem><para>Include an unaltered
-      copy of this License.</para>
-</listitem>
-
-<listitem><para>Preserve the section
-      entitled "History", and its title, and add to it an item stating at
-      least the title, year, new authors, and publisher of the Modified
-      Version as given on the Title Page.  If there is no section entitled
-      "History" in the Document, create one stating the title, year,
-      authors, and publisher of the Document as given on its Title Page,
-      then add an item describing the Modified Version as stated in the
-      previous sentence.</para>
-</listitem>
-
-<listitem><para>Preserve the network
-      location, if any, given in the Document for public access to
-      a Transparent copy of the Document, and likewise the network
-      locations given in the Document for previous versions it was
-      based on.  These may be placed in the "History" section.	You may
-      omit a network location for a work that was published at least four
-      years before the Document itself, or if the original publisher of
-      the version it refers to gives permission.</para>
-</listitem>
-
-<listitem><para>In any section entitled
-      "Acknowledgements" or "Dedications", preserve the section's title,
-      and preserve in the section all the substance and tone of each
-      of the contributor acknowledgements and/or dedications given
-      therein.</para>
-</listitem>
-
-<listitem><para>Preserve all the
-      Invariant Sections of the Document, unaltered in their text and in
-      their titles.  Section numbers or the equivalent are not considered
-      part of the section titles.</para>
-</listitem>
-
-<listitem><para>Delete any section
-      entitled "Endorsements".	Such a section may not be included in
-      the Modified Version.</para>
-</listitem>
-
-<listitem><para>Do not retitle any
-      existing section as "Endorsements" or to conflict in title with
-      any Invariant Section.</para>
-</listitem> </orderedlist> <para>If the Modified Version includes new
-front-matter sections
-    or appendices that qualify as Secondary Sections and contain no
-    material copied from the Document, you may at your option designate
-    some or all of these sections as invariant.  To do this, add their
-    titles to the list of Invariant Sections in the Modified Version's
-    license notice.  These titles must be distinct from any other section
-    titles.</para>
-
-<para>You may add a section entitled "Endorsements", provided it
-    contains nothing but endorsements of your Modified Version by various
-    parties--for example, statements of peer review or that the text has
-    been approved by an organization as the authoritative definition of
-    a standard.</para>
-
-<para>You may add a passage of up to five words as a Front-Cover
-    Text, and a passage of up to 25 words as a Back-Cover Text, to the end
-    of the list of Cover Texts in the Modified Version.  Only one passage
-    of Front-Cover Text and one of Back-Cover Text may be added by (or
-    through arrangements made by) any one entity.  If the Document already
-    includes a cover text for the same cover, previously added by you or
-    by arrangement made by the same entity you are acting on behalf of,
-    you may not add another; but you may replace the old one, on explicit
-    permission from the previous publisher that added the old one.</para>
-
-<para>The author(s) and publisher(s) of the Document do not by
-    this License give permission to use their names for publicity for
-    or to assert or imply endorsement of any Modified Version.</para>
-</sect3>
-
-<sect3 id="gfdl-5"> <title>COMBINING DOCUMENTS</title>
-
-<para>You may combine the Document with other documents released
-    under this License, under the terms defined in section 4 above for
-    modified versions, provided that you include in the combination all of
-    the Invariant Sections of all of the original documents, unmodified,
-    and list them all as Invariant Sections of your combined work in
-    its license notice.</para>
-
-<para>The combined work need only contain one copy of this
-    License, and multiple identical Invariant Sections may be replaced
-    with a single copy.  If there are multiple Invariant Sections with
-    the same name but different contents, make the title of each such
-    section unique by adding at the end of it, in parentheses, the
-    name of the original author or publisher of that section if known,
-    or else a unique number.  Make the same adjustment to the section
-    titles in the list of Invariant Sections in the license notice of
-    the combined work.</para>
-
-<para>In the combination, you must combine any sections entitled
-    "History" in the various original documents, forming one section
-    entitled "History"; likewise combine any sections entitled
-    "Acknowledgements", and any sections entitled "Dedications".
-    You must delete all sections entitled "Endorsements."</para>
-</sect3>
-
-<sect3 id="gfdl-6"> <title>COLLECTIONS OF DOCUMENTS</title>
-
-<para>You may make a collection consisting of the Document and
-    other documents released under this License, and replace the
-    individual copies of this License in the various documents with a
-    single copy that is included in the collection, provided that you
-    follow the rules of this License for verbatim copying of each of
-    the documents in all other respects.</para>
-
-<para>You may extract a single document from such a collection,
-    and distribute it individually under this License, provided you
-    insert a copy of this License into the extracted document, and follow
-    this License in all other respects regarding verbatim copying of
-    that document.</para>
-</sect3>
-
-<sect3 id="gfdl-7"> <title>AGGREGATION WITH INDEPENDENT WORKS</title>
-<para>A compilation of the Document or its derivatives with other
-    separate and independent documents or works, in or on a volume
-    of a storage or distribution medium, does not as a whole count
-    as a Modified Version of the Document, provided no compilation
-    copyright is claimed for the compilation.  Such a compilation is
-    called an "aggregate", and this License does not apply to the other
-    self-contained works thus compiled with the Document, on account
-    of their being thus compiled, if they are not themselves derivative
-    works of the Document.</para>
-
-<para>If the Cover Text requirement of section 3 is applicable to
-    these copies of the Document, then if the Document is less than
-    one quarter of the entire aggregate, the Document's Cover Texts
-    may be placed on covers that surround only the Document within
-    the aggregate.  Otherwise they must appear on covers around the
-    whole aggregate.</para>
-</sect3>
-
-<sect3 id="gfdl-8"> <title>TRANSLATION</title>
-
-<para>Translation is considered a kind of modification, so you may
-    distribute translations of the Document under the terms of section 4.
-    Replacing Invariant Sections with translations requires special
-    permission from their copyright holders, but you may include
-    translations of some or all Invariant Sections in addition to the
-    original versions of these Invariant Sections.  You may include
-    a translation of this License provided that you also include the
-    original English version of this License.  In case of a disagreement
-    between the translation and the original English version of this
-    License, the original English version will prevail.</para>
-</sect3>
-
-<sect3 id="gfdl-9"> <title>TERMINATION</title> <para>You may not copy,
-modify, sublicense, or distribute the
-    Document except as expressly provided for under this License.
-    Any other attempt to copy, modify, sublicense or distribute the
-    Document is void, and will automatically terminate your rights under
-    this License.  However, parties who have received copies, or rights,
-    from you under this License will not have their licenses terminated
-    so long as such parties remain in full compliance.</para>
-</sect3>
-
-<sect3 id="gfdl-10"> <title>FUTURE REVISIONS OF THIS LICENSE</title>
-
-<para>The Free Software Foundation may publish new, revised
-    versions of the GNU Free Documentation License from
-    time to time.  Such new versions will be similar
-    in spirit to the present version, but may differ in
-    detail to address new problems or concerns.  See <ulink
-    url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
-
-<para>Each version of the License is given a distinguishing
-    version number.  If the Document specifies that a particular
-    numbered version of this License "or any later version" applies
-    to it, you have the option of following the terms and conditions
-    either of that specified version or of any later version that has
-    been published (not as a draft) by the Free Software Foundation.
-    If the Document does not specify a version number of this License,
-    you may choose any version ever published (not as a draft) by the
-    Free Software Foundation.</para>
-</sect3>
-
-<sect3 id="gfdl-11"> <title>How to use this License for your
-documents</title>
-
-<para>To use this License in a document you have written, include
-    a copy of the License in the document and put the following copyright
-    and license notices just after the title page:</para>
-
-<blockquote><para> Copyright (c)  YEAR	YOUR NAME.
-      Permission is granted to copy, distribute and/or modify this
-      document under the terms of the GNU Free Documentation License,
-      Version 1.1 or any later version published by the Free Software
-      Foundation; with the Invariant Sections being LIST THEIR TITLES,
-      with the Front-Cover Texts being LIST, and with the Back-Cover
-      Texts being LIST.  A copy of the license is included in the section
-      entitled "GNU Free Documentation License".
-</para></blockquote>
-
-<para>If you have no Invariant Sections, write "with no Invariant
-    Sections" instead of saying which ones are invariant.  If you
-    have no Front-Cover Texts, write "no Front-Cover Texts" instead of
-    "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.</para>
-
-<para>If your document contains nontrivial examples of program
-    code, we recommend releasing these examples in parallel under your
-    choice of free software license, such as the GNU General Public
-    License, to permit their use in free software.</para>
-</sect3> </sect2> </sect1>
-
-</article>
-

+ 0 - 1294
web/mono-beginning-xml

@@ -1,1294 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" []>
-<article>
-
-  <articleinfo>
-
-    <!-- Use "HOWTO", "mini HOWTO", "FAQ" in title, if appropriate -->
-    <title>Running Mono</title>
-
-
-    <author>
-       <firstname>Hinne</firstname>
-       <surname>Hettema</surname>
-       <affiliation>
-          <address><email>[email protected]</email></address>
-       </affiliation>
-     </author>
-    <author>
-       <firstname>Jaime</firstname>
-       <surname>Anguiano Olarra</surname>
-       <affiliation>
-          <address><email>[email protected]</email></address>
-       </affiliation>
-     </author>
-
-     <pubdate>2002-06</pubdate>
-
-     <!-- Most recent revision goes at the top; list in descending order -->
-     <!-- All dates specified in ISO "YYYY-MM-DD" format -->
-     <revhistory>
-       <revision>
-          <revnumber>0.1</revnumber>
-          <date>2002-06-20</date>
-          <authorinitials>HH</authorinitials>
-          <revremark>First release</revremark>
-       </revision>
-     </revhistory>
-
-     <!-- Provide a good abstract; a couple of sentences is sufficient -->
-     <abstract>
-        <para>
-	This document describes how to install mono on your Linux system 
-	from the source and describes some simple experiments you can
-	perform with this installation.
-	</para>
-     </abstract>
-
-  </articleinfo>
-
-
-<sect1 id="intro">
-<title>Introduction</title>
-
-<para>
-Mono is an open source implementation of the Common Language Infrastructure
-(CLI) specified in ECMA standard 335. It comes with a C# compiler and
-provides an extensible platform to develop and run applications that
-are interoperable with Microsoft .NET.
-</para>
-
-<para>
-Mono is not finished--it is a project still under development. As a
-result, installation and configuration may not be as smooth as you
-will be used to from other Linux applications. Nevertheless, mono is
-in a state that will allow you to get it up and running and gain
-experience with it--which is, I would suggest, a very smart thing to do.
-</para>
-
-<para>
-This document is limited in the following sense: it describes how to
-download a 'stable' version of mono as a 'tarball' and get it to run on
-your computer. I'm also assuming you run mono on Linux rather than
-on Windows. All the examples have been tested on a 'vanilla' Red Hat 7.3 
-installation.
-</para>
-
-<para>
-There are two items this document will <emphasis>not 
-</emphasis> cover: the first is how to self host the mcs compiler 
-under linux and the second is the graphical user environment 
-which is implemented as GTK#. These two interesting topics 
-are the subject of two more howto's that I'm planning.
-</para>
-
-<para>
-This document is also less useful for two types of people.
-</para> 
-<itemizedlist> 
-<listitem> 
-<para> 
-If you are a very inexperienced linux user and want to know what mono is
-all about, there is an easier way to install mono. Go to mono.baselabs.org
-and download the rpm's ready for installation on your system. This site also
-runs a tutorial that is worth reading.
-</para> 
-</listitem> 
-<listitem> 
-<para> 
-If you are a very experienced user wanting to contribute to the mono code,
-you should probably regularly do a CVS download. At the moment, the mono
-code grows very fast, and the 'stable' releases still appear too slowly.
-</para>
-</listitem>
-
-</itemizedlist>
-
-<para>
-This document is aimed at the mono beginner, and aims to present a complete
-view of a minimal installation, which will allow you to experiment with
-mono to some degree. It also describes some of those experiments. We
-expect that after reading this document you'll go on to do either of
-two things:
-</para>
-<orderedlist>
-<listitem>
-<para>
-Continue to contribute to the mono project in some shape or form. The
-website has some ideas and suggestions under the heading 'Contributing'.
-</para>
-</listitem>
-<listitem>
-<para>
-Continue to write applications that run in mono. 
-</para>
-</listitem>
-</orderedlist>
-
-<para>
-We hope this document will be useful to you in your first steps with mono.
-Happy hacking!
-</para>
-
-<sect2 id="note">
-<title>A note on the development of this document</title>
-<para>
-This document is expected to grow into a full 'running mono howto' over time.
-As of yet, it does not really discuss some of the excellent efforts of others
-to package mono into an rpm or deb and prepare it for easy installation.
-It is our aim to include this in future versions of this document.
-</para>
-</sect2>
-
-<sect2 id="prerequisites">
-<title>Prerequisites</title>
-<para>
-This document assumes you are somewhat familiar with the architecture
-of the Common Language Infrastructure and the C# programming language.
-</para>
-
-<para>
-To compile mono on your system, you will also have to satisfy 
-some dependencies on other software. A list of these are given 
-on the mono download page. Read through this list to see if 
-you've got all components. 
-</para>
-
-<para>
-On a practical note, I had no dependency issues with the 
-installation of mono 0.12 on a 'standard issue' Red Hat 7.3 build.
-</para>
-
-</sect2>
-
-<sect2 id="disclaimer"> <title>Disclaimer</title>
-
-<para> 
-No liability for the contents of this document can be accepted.
-Use the concepts, examples and information at your own risk.  There may
-be errors and inaccuracies, that could be damaging to your system.
-Proceed with caution, and although this is highly unlikely, the author(s)
-do not take any responsibility.  
-</para>
-
-<para> 
-All copyrights are held by their by their respective owners,
-unless specifically noted otherwise.  Use of a term in this document
-should not be regarded as affecting the validity of any trademark or
-service mark.  Naming of particular products or brands should not be
-seen as endorsements.  
-</para> 
-</sect2>
-
-<!-- Give credit where credit is due...very important --> <sect2
-id="credits"> <title>Credits / Contributors</title>
-
-<para> This document was originally created by Jaime Anguiano Olarra,
-but has been extensively rewritten. Credits are due to </para>
-<itemizedlist> 
-<listitem> 
-<para>Jaime Anguiano Olarra <email>[email protected]</email> 
-for creating the original version of this document, and in fact 
-the document that got me through installing mono for the first time.
-</para> 
-</listitem> 
-<listitem>
-<para>
-My partner Margaret for support on my more exotic ventures.
-</para>
-</listitem>
-</itemizedlist> 
-</sect2>
-
-<!-- Feedback --> 
-<sect2 id="feedback"> <title>Feedback</title>
-
-<para> 
-Feedback is most certainly welcome for this document. Send your
-additions, comments and criticisms to the following email address:
-<email>[email protected]</email>. I am lurking on this list 
-and will maintain this document as required.  
-</para> 
-</sect2>
-</sect1>
-
-<!-- This is the preamble stuff over with the rest of document
-follows... --> 
-<sect1 id="installation"> 
-<title> Installing Mono</title>
-
-<sect2 id="obtaining"> 
-<title>Obtaining Mono</title> 
-<para> 
-There are several ways to get Mono running on your computer. This
-document will discuss only one of those: downloading the source tarball
-and utilising the make utilities to get mono up and running.  There is
-only one mono package to worry about if you are just after a 'base' install
-of mono: the mono runtime. This package, found under the name "mono-x.xx"
-has got a compiled version of the compiler built in.
-</para>
-
-<para>
-You'll be able to complete everything in this document if you just install
-the runtime, but taking a look at the compiler package is well worth the
-effort. The compiler is written in C# and is 'self hosting' which means it
-is able to compile itself. 
-</para>
-
-<para>
-As of this moment, it is my understanding that there are still some issues
-with the 'self hosting' bit of the compiler on linux, although this is 
-expected to work in later versions of mono. If you are just interested in
-finding out how mono will work under linux, I would not worry about the
-self-hosting bit for now. The self-hosting of the compiler will be the
-topic of a future howto.
-</para>
-
-<para> 
-See <ulink url="http://www.go-mono.com/download">the mono download
-site</ulink> for the source of the tarballs.  
-</para>
-
-<para>
-This page also lists the current versions of the software 
-mono depends on. Make sure that your system has all the 
-required versions, otherwise mono won't compile.
-</para>
-
-<para>
-At a minimum for mono 0.12, you'll need to:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-download and install
-<ulink url="http//www.freedesktop.org/software/pkgconfig">
-pkg-config</ulink>.
-</para>
-</listitem>
-<listitem>
-<para>
-download and install
-<ulink url="ftp://ftp.gtk.org/pub/gtk/v1.3/glib-1.3.12.tar.gz">
-glib 1.3</ulink>.
-</para>
-</listitem>
-</itemizedlist>
-
-<para> 
-Installing the tarballs is done via GNU autoconf and
-automake. The general upshot of running autoconf and automake is that you
-can type <command>./configure</command> and then <command> make</command>
-to do the build.  
-Typing <command>make install</command> completes the installation of mono
-on your system.
-</para>
-
-<para>
-To build the mono runtime package, unzip the tarball to some useful
-location.  I tend to use <command>/usr/src</command> as the location,
-but you could really do it anywhere. For the install process, it is
-also a good idea to be 'root'.  The installation process will shuttle
-some executables into <command>/usr/local/bin</command> (more about
-that later).
-</para>
-
-<para>
-Unzipping the tarballs will have created two directories in <command>
-/usr/src/</command>, one called something like mono-x.xx and the other 
-mcs-x.xx. The one called 'mono' is the runtime environment, and this contains
-all that is initially needed to run mono and investigate its inner workings.
-</para>
-
-<para>
-To start building the mono runtime, first type <command>./configure</command>.
-You will see an output like this:
-</para>
-<programlisting>
-[root@taurus mono-0.12]# ./configure
-loading cache ./config.cache
-checking host system type... i686-pc-linux-gnu
-checking target system type... i686-pc-linux-gnu
-checking build system type... i686-pc-linux-gnu
-checking for a BSD compatible install... (cached) /usr/bin/install -c
-checking whether build environment is sane... yes
-checking whether make sets ${MAKE}... (cached) yes
-checking for working aclocal... found
-
-
-snip ....
-
-
-checking BASE_DEPENDENCIES_CFLAGS...  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-checking BASE_DEPENDENCIES_LIBS...  -lglib-2.0
-checking for GC_malloc in -lgc... (cached) no
-configure: warning: Compiling mono without GC.
-checking if off_t is 64 bits wide... no
-checking if _FILE_OFFSET_BITS=64 gives 64 bit off_t... ok
-
-snip ...
-
-creating Makefile
-creating mono/Makefile
-creating mono/utils/Makefile
-creating mono/metadata/Makefile
-creating mono/dis/Makefile
-creating mono/cil/Makefile
-creating mono/arch/Makefile
-creating mono/os/Makefile
-creating mono/os/win32/Makefile
-creating mono/os/unix/Makefile
-creating mono/arch/x86/Makefile
-creating mono/arch/ppc/Makefile
-creating mono/arch/sparc/Makefile
-creating mono/arch/arm/Makefile
-creating mono/interpreter/Makefile
-creating mono/tests/Makefile
-creating mono/benchmark/Makefile
-creating mono/monoburg/Makefile
-creating mono/monograph/Makefile
-creating mono/jit/Makefile
-creating mono/io-layer/Makefile
-creating mono/handles/Makefile
-creating runtime/Makefile
-creating scripts/Makefile
-creating man/Makefile
-creating doc/Makefile
-creating docs/Makefile
-creating config.h
-config.h is unchanged
-
-
-        GC:     auto
-
-
-[root@taurus mono-0.12]#
-</programlisting>
-
-
-<para>
-This means that the configure script has now created all the 
-makefiles necessary to complete the build on your system. 
-Note the "GC: auto" at the end of the list of commands. 
-GC stands for "garbage collection" and it
-will be addressed in a later section of this document.
-</para>
-<para>
-You are now ready to start the mono "build" process. To kick 
-this off, you can type <command>make</command> at the 
-command prompt. You'll see something like this:
-</para>
-
-<programlisting>
-[root@taurus mono-0.12]# make
-make  all-recursive
-make[1]: Entering directory `/usr/src/mono-0.12'
-Making all in mono
-make[2]: Entering directory `/usr/src/mono-0.12/mono'
-Making all in utils
-make[3]: Entering directory `/usr/src/mono-0.12/mono/utils'
-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/glib-2.0 
--I/usr/lib/glib-2.0/include   -I/usr/include/glib-2.0 
--I/usr/lib/glib-2.0/include   -I../.. -I../../mono   
--D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE   -g -Wall 
--Wunused -Wmissing-prototypes -Wmissing-declarations 
--Wstrict-prototypes  -Wmissing-prototypes -Wnested-externs 
--Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings 
--c mono-hash.c
-
-</programlisting>
-<para>
-and this will continue for a while. On my 1 GHz Duron with 256 MB of RAM the 
-total build process takes about three minutes. All the terrible flags after gcc
-have essentially been set by the configure script and there is no need to worry
-about these.
-</para>
-<para>
-To finally install mono, you can type <command>make install</command> 
-to get a working version of mono. This command will copy the 
-scripts that run the executables to a place where the operating system
-will be ale to find them. This location is <command>/usr/local/bin</command>
-on my system. 
-</para>
-
-</sect2>
-
-<sect2 id="garbage_collection">
-<title> Garbage Collection</title>
-<para>
-To make the mint interpreter work with garbage collection, you first need to
-install a garbage collection package on your system. Mono works with
-Boehm Garbage collection, which is found at 
-<ulink url="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">
-http://www.hpl.hp.com/personal/Hans_Boehm/gc/
-</ulink>.
-</para>
-
-<para>
-To get garbage collection to work, I downloaded the source tarball 
-into <command>/usr/src/</command> and typed <command>./configure</command>
-followed by <command>make</command> and <command>make install</command>.
-</para>
-
-<para>
-There is one glitch to work around. The header file for the garbage collection
-<command>gc.h</command> is found in the <command>/usr/src/gc6.0/include
-</command> directory (at least on my system). The mono build process will break
-on this location: it is looking for the header file in some other place called
-<command>/usr/include/gc/</command> and won't be able to find the correct
-header file.
-</para>
-
-<para>
-The solution is to build a symbolic link between these two locations as 
-follows
-</para>
-
-<programlisting>
-[root@taurus include]# ln -s /usr/src/gc6.0/include/ /usr/include/gc
-</programlisting>
-
-<para>
-after which you'll be able to list the directory contents as if they were
-in <command>/usr/include</command>
-</para>
-
-<programlisting>
-[root@taurus include]# pwd
-/usr/include
-[root@taurus include]# ls /usr/include/gc
-cord.h                gc_backptr.h  gc_inline.h             javaxfc.h
-ec.h                  gc_cpp.h      gc_local_alloc.h        leak_detector.h
-gc                    gc_gcj.h      gc_mark.h               new_gc_alloc.h
-gc_alloc.h            gc.h          gc_pthread_redirects.h  private
-gc_amiga_redirects.h  gc_inl.h      gc_typed.h              weakpointer.h
-[root@taurus include]#
-</programlisting>
-
-<para>
-To get mono to work with garbage collection, you'll have to rebuild the
-environment. This is done easily by typing <command>make distclean</command>
-to clean up any existing executables.
-</para>
-
-<para>
-Continue the build by typing <command>./configure</command>, and look at
-the last line. It should read:
-</para>
-
-<programlisting>
-
-snip...
-
-creating config.h
-
-
-        GC:     boehm
-
-
-[root@taurus mono-0.12]#
-
-</programlisting>
-
-<para>
-The GC: boehm tells you that garbage collection has been turned on. Now to
-compile the runtime, you type <command>make</command> and <command> make
-install</command> as previously.
-</para>
-
-<para>
-You now have mono working with Garbage Collection.
-</para>
-
-<para>
-Although my experimentation is incomplete as of this time, I have found some
-issues with running Garbage Collection continuously, and my recommendation
-would be to turn it off for now.
-</para>
-
-<para>
-To turn garbage collection off again, you have to go to the <command>/usr/src
-</command> directory where you extracted the tarball. Enter the <command>gc6.0
-</command> directory and type <command>make uninstall</command> to uninstall 
-Garbage Collection. Then in your <command>mono</command> directory, type
-<command>make distclean</command> followed by <command>./configure</command>,
-<command>make</command> and <command>make install</command>.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="running">
-<title>Running mono</title>
-<sect2 id="basic">
-<title>Basic steps</title>
-<para>
-To work with mono, you first have to create a C# program. Open up 
-your favourite editor, and type in the following code:
-</para>
-<programlisting>
-using System;
-
-class Hello
-{
-public static void Main(String[] args)
-	{
-	Console.WriteLine("mono:: is alive and well...");
-
-	for (int i = 0; i < args.Length; i++)
-		Console.WriteLine("Argument {0} = {1}", i, args[i]);
-	}
-}
-</programlisting>
-
-<para>
-Save the file as hello.cs. To compile this into a working program, 
-type mcs hello.cs. If you get the following:
-</para>
-<programlisting>
-[hinne@taurus hello]$ mcs hello.cs
-RESULT: 0
-[hinne@taurus hello]$
-</programlisting>
-<para>
-you know the compile worked fine. If you see some strange error
-messages including the word 'parser' somewhere, you made a mistake in
-your program. Fix this up first.
-</para>
-
-<para>
-You are now ready to execute your first mono program.  To execute 
-the code, type
-</para>
-
-<programlisting>
-[hinne@taurus hello]$ mono hello.exe arg1 arg2 arg 3
-</programlisting>
-<para>
-(where we have given some arguments just for fun) and you'll 
-see the following:
-</para>
-
-<programlisting>
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg2
-Argument 2 = arg
-Argument 3 = 3
-RESULT: 0
-</programlisting>
-<para>
-As you can see, mono printed the line "mono:: is alive and well" 
-and printed the list of arguments. This completes the creation 
-and execution of your first mono program.
-</para>
-</sect2>
-
-<sect2 id="interpreter">
-<title>Interpreter</title>
-<para>
-But mono will allow you to do more. First of all, mono is the 
-compiled mono execution environment which uses the Just in 
-Time (JIT) compiler. Mono also comes with an interpreted 
-environment, which can be accessed using the command 'mint' 
-as follows
-</para>
-<programlisting>
-[hinne@taurus hello]$ mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-[hinne@taurus hello]$
-</programlisting>
-<para>
-As you can see, it makes no difference to mono output which 
-environment you use, but what happens under the hood is very 
-different. If you use 'mono' as the command line tool, you 
-call the 'production' execution environment which will read 
-your portable executable (PE) file, and call the just in 
-time (JIT) compiler to compile the PE code down to machine 
-level code (in my case, an x86 architecture) after which 
-it is executed.
-</para>
-<para>
-If you use mint, the JIT is not used, and the PE code is 
-interpreted into x86 instructions for execution. In fact, 
-for our simple 'hello' mint is slightly faster. The point 
-is that the JIT compiler will take some time to compile the 
-code of our program and store it in some location in memory, 
-but the subsequent execution of the code is faster with mono.
-</para>
-<para>
-
-You can see what happens below (the thing to look for is the 
-'user' time: 0.1 seconds with mono and 0.06 seconds with mint):
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ time mono hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-RESULT: 0
-
-real    0m0.575s
-user    0m0.100s
-sys     0m0.010s
-[hinne@taurus hello]$ time mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-
-real    0m0.545s
-user    0m0.060s
-sys     0m0.000s
-[hinne@taurus hello]$
-</programlisting>
-<para>
-After this simple run of mono, it is time to play with some options. 
-I won't cover these in detail since there are quite a few, and also because
-I assume you downloaded mono to hack it around in the first place. So
-I'll leave some pointers.
-</para>
-
-
-<sect3 id="debugging">
-<title>Debugging</title>
-<para>
-Mono supports a debugging option when you specify the "-d" flag while running
-the runtime. Utilising this flag will get you a significant amount of output,
-and it may be an idea to specify an output file as well. The interesting aspect
-of this file is that it allows you to see to some extent (quite precisely,
-actually) what the JIT compiler is up to.
-</para>
-</sect3>
-
-<sect3 id="statistics">
-<title>Statistics</title>
-<para>
-It is also possible to collect some runtime statistics on your program. These
-will give you some idea of the resource utilisation of your program.
-</para>
-<programlisting>
-[hinne@taurus hello]$ mono --stats hello.exe
-mono:: is alive and well...
-RESULT: 0
-Mono Jit statistics
-Compiled methods:       58
-Methods cache lookup:   15
-Method trampolines:     698
-Basic blocks:           188
-Max basic blocks:       15
-Allocated vars:         238
-Analyze stack repeat:   61
-Compiled CIL code size: 2450
-Native code size:       10167
-Max code size ratio:    7.13 (FileStream::FlushBuffer)
-Biggest method:         1016 (StreamWriter::Write)
-Code reallocs:          27
-Allocated code size:    22073
-Inlineable methods:     17
-Inlined methods:        22
-
-Created object count:   18
-Initialized classes:    127
-Used classes:           37
-Static data size:       288
-VTable data size:       8292
-</programlisting>
-</sect3>
-
-</sect2>
-
-<sect2 id="ILAsm_code" >
-<title>Inspecting IL Assembly code</title>
-<para>
-Mono also provides a small tool that will let you disassemble 
-the executable (.exe) file so you can have a peek 
-under the hood. This tool is monodis, and is run as 
-follows:
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ monodis hello.exe
-.assembly extern mscorlib
-{
-  .ver 0:0:0:0
-}
-.assembly 'hello'
-{
-  .hash algorithm 0x00008004
-  .ver  0:0:0:0
-}
-  .class private auto ansi beforefieldinit Hello
-        extends [mscorlib]System.Object
-  {
-
-    // method line 1
-    .method public hidebysig  specialname  rtspecialname
-           instance default void .ctor()  cil managed
-    {
-        // Method begins at RVA 0x20ec
-        // Code size 7 (0x7)
-        .maxstack 8
-        IL_0000: ldarg.0
-        IL_0001: call instance void System.Object::.ctor()
-        IL_0006: ret
-    } // end of method instance default void .ctor()
-
-    // method line 2
-    .method public static
-           default void Main(string[] args)  cil managed
-    {
-        // Method begins at RVA 0x20f4
-        .entrypoint
-        // Code size 56 (0x38)
-        .maxstack 5
-        .locals init (
-                int32   V_0,
-                int32   V_1)
-        IL_0000: ldstr "mono:: is alive and well..."
-        IL_0005: call void System.Console::WriteLine(string)
-        IL_000a: ldc.i4.0
-        IL_000b: stloc.0
-        IL_000c: ldloc.0
-        IL_000d: ldarg.s 0
-        IL_000f: ldlen
-        IL_0010: clt
-        IL_0012: brfalse IL_0037
-
-        IL_0017: ldstr "Argument {0} = {1}"
-        IL_001c: ldloc.0
-        IL_001d: box [mscorlib]System.Int32
-        IL_0022: ldarg.s 0
-        IL_0024: ldloc.0
-        IL_0025: ldelem.ref
-        IL_0026: call void System.Console::WriteLine(string, object, object)
-        IL_002b: nop
-        IL_002c: ldloc.0
-        IL_002d: ldc.i4.1
-        IL_002e: add
-        IL_002f: stloc.1
-        IL_0030: ldloc.1
-        IL_0031: stloc.0
-        IL_0032: br IL_000c
-
-        IL_0037: ret
-    } // end of method default void Main(string[] args)
-
-  } // end of type Hello
-
-[hinne@taurus hello]$
-</programlisting>
-<para>
-This is the listing of the code of your program in a language 
-called IL assembly, or Common Intermediate Language (CIL). The 
-CIL provides the portability of the mono platform, and ensures 
-that code compiled with Microsoft's .NET framework will work 
-on mono and vice versa. 
-</para>
-</sect2>
-
-<sect2 id="man_pages">
-<title>Man pages</title>
-
-<para>
-Mono has man pages already installed, and generally, typing <command>
-man</command> before the command you wish to execute should help in 
-getting a list of the options. In many cases, it's still up to you
-to figure out what they do.
-</para>
-
-</sect2>
-
-
-</sect1>
-
-
-<sect1 id="problems">
-<title>Problems</title>
-<para> 
-With mono being as new as it is, it is likely that you will have some
-problems with installation. The following are some ideas to help you
-out in a bind:
-</para>
-
-<orderedlist>
-<listitem>
-<para> 
-See the Ximian Bugzilla page to find out if there is a bug
-report about your specific issue.
-</para>
-</listitem>
-
-<listitem>
-<para>Read this document.  If it does not solve your problem, we want to
-know about it. Please send a message to the email address listed for
-feedback at the beginning of the document.</para>
-</listitem>
-
-<listitem>
-
-<para> 
-Visit the mono mailing lists' archives and do a little
-research in there for threads talking about the problem you have.
-</para>
-</listitem>
-
-<listitem>
-<para> 
-If you still cannot correct the problem, send a message to the
-mono list. When you do this, please be as precise as possible--i.e.
-mention the system you are running, the version of mono that you have the 
-problem with, and give any error codes and other output that might appear.
-</para>
-</listitem>
-</orderedlist>
-
-</sect1>
-
-<sect1 id="knownproblems">
-<title>Known Problems</title>
-
-<para> mcs fails to compile in Linux.
-To the best of my knowledge, as of yet mcs cannot compile in Linux. 
-Try to install the already made packages from 
-http://mono.baselabs.org/index.php/software. </para>
-</sect1>
-
-<!-- Legal Sections --> <sect1 id="copyright">
- <title>Copyright and License</title>
-
- <!-- The LDP recommends, but doesn't require, the GFDL --> <para>
-     This document, <emphasis>Running mono</emphasis>, is copyrighted
-     (c) 2002 by <emphasis>Hinne Hettema</emphasis> and
-     <emphasis>Jaime Anguiano Olarra</emphasis>.  Permission is
-     granted to copy, distribute and/or modify this document under the
-     terms of the GNU Free Documentation License, Version 1.1 or any later
-     version published by the Free Software Foundation; with no Invariant
-     Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
-     A copy of the license is included in the section entitled "GNU Free
-     Documentation License".
- </para>
-
-<sect2 id="gfdl"> <title>GNU Free Documentation License</title> 
-<!-- GNU Project - Free Software Foundation (FSF) -->
-
-<para>Version 1.1, March 2000</para>
-
-<blockquote> <para>Copyright (C) 2000  Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA	02111-1307  USA Everyone is
-permitted to copy and distribute verbatim copies of this license document,
-but changing it is not allowed.</para> </blockquote>
-
-<sect3 id="gfdl-0"> <title>PREAMBLE</title>
-
-<para>The purpose of this License is to make a manual, textbook,
-    or other written document "free" in the sense of freedom: to assure
-    everyone the effective freedom to copy and redistribute it, with
-    or without modifying it, either commercially or noncommercially.
-    Secondarily, this License preserves for the author and publisher
-    a way to get credit for their work, while not being considered
-    responsible for modifications made by others.</para>
-
-<para>This License is a kind of "copyleft", which means that
-    derivative works of the document must themselves be free in the
-    same sense.  It complements the GNU General Public License, which
-    is a copyleft license designed for free software.</para>
-
-<para>We have designed this License in order to use it for manuals
-    for free software, because free software needs free documentation:
-    a free program should come with manuals providing the same freedoms
-    that the software does.  But this License is not limited to software
-    manuals; it can be used for any textual work, regardless of subject
-    matter or whether it is published as a printed book.  We recommend
-    this License principally for works whose purpose is instruction
-    or reference.</para>
-</sect3>
-
-<sect3 id="gfdl-1"> <title>APPLICABILITY AND DEFINITIONS</title>
-
-<para>This License applies to any manual or other work that
-    contains a notice placed by the copyright holder saying it can be
-    distributed under the terms of this License.  The "Document", below,
-    refers to any such manual or work.	Any member of the public is a
-    licensee, and is addressed as "you".</para>
-
-<para>A "Modified Version" of the Document means any work
-    containing the Document or a portion of it, either copied verbatim,
-    or with modifications and/or translated into another language.</para>
-
-<para>A "Secondary Section" is a named appendix or a front-matter
-    section of the Document that deals exclusively with the relationship
-    of the publishers or authors of the Document to the Document's overall
-    subject (or to related matters) and contains nothing that could fall
-    directly within that overall subject.  (For example, if the Document
-    is in part a textbook of mathematics, a Secondary Section may not
-    explain any mathematics.)  The relationship could be a matter of
-    historical connection with the subject or with related matters, or
-    of legal, commercial, philosophical, ethical or political position
-    regarding them.</para>
-
-<para>The "Invariant Sections" are certain Secondary Sections
-    whose titles are designated, as being those of Invariant Sections,
-    in the notice that says that the Document is released under this
-    License.</para>
-
-<para>The "Cover Texts" are certain short passages of text that
-    are listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-    that says that the Document is released under this License.</para>
-
-<para>A "Transparent" copy of the Document means a
-    machine-readable copy, represented in a format whose specification
-    is available to the general public, whose contents can be viewed and
-    edited directly and straightforwardly with generic text editors
-    or (for images composed of pixels) generic paint programs or
-    (for drawings) some widely available drawing editor, and that is
-    suitable for input to text formatters or for automatic translation
-    to a variety of formats suitable for input to text formatters.
-    A copy made in an otherwise Transparent file format whose markup
-    has been designed to thwart or discourage subsequent modification
-    by readers is not Transparent.  A copy that is not "Transparent"
-    is called "Opaque".</para>
-
-<para>Examples of suitable formats for Transparent copies include
-    plain ASCII without markup, Texinfo input format, LaTeX input format,
-    SGML or XML using a publicly available DTD, and standard-conforming
-    simple HTML designed for human modification.  Opaque formats include
-    PostScript, PDF, proprietary formats that can be read and edited
-    only by proprietary word processors, SGML or XML for which the
-    DTD and/or processing tools are not generally available, and the
-    machine-generated HTML produced by some word processors for output
-    purposes only.</para>
-
-<para>The "Title Page" means, for a printed book, the title page
-    itself, plus such following pages as are needed to hold, legibly,
-    the material this License requires to appear in the title page.
-    For works in formats which do not have any title page as such,
-    "Title Page" means the text near the most prominent appearance of the
-    work's title, preceding the beginning of the body of the text.</para>
-</sect3>
-
-<sect3 id="gfdl-2"> <title>VERBATIM COPYING</title>
-
-<para>You may copy and distribute the Document in any medium,
-    either commercially or noncommercially, provided that this License,
-    the copyright notices, and the license notice saying this License
-    applies to the Document are reproduced in all copies, and that
-    you add no other conditions whatsoever to those of this License.
-    You may not use technical measures to obstruct or control the
-    reading or further copying of the copies you make or distribute.
-    However, you may accept compensation in exchange for copies.  If you
-    distribute a large enough number of copies you must also follow the
-    conditions in section 3.</para>
-
-<para>You may also lend copies, under the same conditions stated
-    above, and you may publicly display copies.</para>
-</sect3>
-
-<sect3 id="gfdl-3"> <title>COPYING IN QUANTITY</title>
-
-<para>If you publish printed copies of the Document numbering more
-    than 100, and the Document's license notice requires Cover Texts, you
-    must enclose the copies in covers that carry, clearly and legibly,
-    all these Cover Texts: Front-Cover Texts on the front cover, and
-    Back-Cover Texts on the back cover.  Both covers must also clearly
-    and legibly identify you as the publisher of these copies.	The front
-    cover must present the full title with all words of the title equally
-    prominent and visible.  You may add other material on the covers
-    in addition.  Copying with changes limited to the covers, as long as
-    they preserve the title of the Document and satisfy these conditions,
-    can be treated as verbatim copying in other respects.</para>
-
-<para>If the required texts for either cover are too voluminous to
-    fit legibly, you should put the first ones listed (as many as fit
-    reasonably) on the actual cover, and continue the rest onto adjacent
-    pages.</para>
-
-<para>If you publish or distribute Opaque copies of the Document
-    numbering more than 100, you must either include a machine-readable
-    Transparent copy along with each Opaque copy, or state in or with each
-    Opaque copy a publicly-accessible computer-network location containing
-    a complete Transparent copy of the Document, free of added material,
-    which the general network-using public has access to download
-    anonymously at no charge using public-standard network protocols.
-    If you use the latter option, you must take reasonably prudent steps,
-    when you begin distribution of Opaque copies in quantity, to ensure
-    that this Transparent copy will remain thus accessible at the stated
-    location until at least one year after the last time you distribute
-    an Opaque copy (directly or through your agents or retailers) of
-    that edition to the public.</para>
-
-<para>It is requested, but not required, that you contact the
-    authors of the Document well before redistributing any large number
-    of copies, to give them a chance to provide you with an updated
-    version of the Document.</para>
-</sect3>
-
-<sect3 id="gfdl-4"> <title>MODIFICATIONS</title>
-
-<para>You may copy and distribute a Modified Version of the
-    Document under the conditions of sections 2 and 3 above, provided
-    that you release the Modified Version under precisely this License,
-    with the Modified Version filling the role of the Document, thus
-    licensing distribution and modification of the Modified Version
-    to whoever possesses a copy of it.	In addition, you must do these
-    things in the Modified Version:</para>
-
-<orderedlist numeration="upperalpha"> <listitem><para>Use in the
-Title Page
-      (and on the covers, if any) a title distinct from that of the
-      Document, and from those of previous versions (which should, if
-      there were any, be listed in the History section of the Document).
-      You may use the same title as a previous version if the original
-      publisher of that version gives permission.</para>
-</listitem>
-
-<listitem><para>List on the Title Page,
-      as authors, one or more persons or entities responsible for
-      authorship of the modifications in the Modified Version, together
-      with at least five of the principal authors of the Document (all
-      of its principal authors, if it has less than five).</para>
-</listitem>
-
-<listitem><para>State on the Title page
-      the name of the publisher of the Modified Version, as the
-      publisher.</para>
-</listitem>
-
-<listitem><para>Preserve all the
-      copyright notices of the Document.</para>
-</listitem>
-
-<listitem><para>Add an appropriate
-      copyright notice for your modifications adjacent to the other
-      copyright notices.</para>
-</listitem>
-
-<listitem><para>Include, immediately
-      after the copyright notices, a license notice giving the public
-      permission to use the Modified Version under the terms of this
-      License, in the form shown in the Addendum below.</para>
-</listitem>
-
-<listitem><para>Preserve in that license
-      notice the full lists of Invariant Sections and required Cover
-      Texts given in the Document's license notice.</para>
-</listitem>
-
-<listitem><para>Include an unaltered
-      copy of this License.</para>
-</listitem>
-
-<listitem><para>Preserve the section
-      entitled "History", and its title, and add to it an item stating at
-      least the title, year, new authors, and publisher of the Modified
-      Version as given on the Title Page.  If there is no section entitled
-      "History" in the Document, create one stating the title, year,
-      authors, and publisher of the Document as given on its Title Page,
-      then add an item describing the Modified Version as stated in the
-      previous sentence.</para>
-</listitem>
-
-<listitem><para>Preserve the network
-      location, if any, given in the Document for public access to
-      a Transparent copy of the Document, and likewise the network
-      locations given in the Document for previous versions it was
-      based on.  These may be placed in the "History" section.	You may
-      omit a network location for a work that was published at least four
-      years before the Document itself, or if the original publisher of
-      the version it refers to gives permission.</para>
-</listitem>
-
-<listitem><para>In any section entitled
-      "Acknowledgements" or "Dedications", preserve the section's title,
-      and preserve in the section all the substance and tone of each
-      of the contributor acknowledgements and/or dedications given
-      therein.</para>
-</listitem>
-
-<listitem><para>Preserve all the
-      Invariant Sections of the Document, unaltered in their text and in
-      their titles.  Section numbers or the equivalent are not considered
-      part of the section titles.</para>
-</listitem>
-
-<listitem><para>Delete any section
-      entitled "Endorsements".	Such a section may not be included in
-      the Modified Version.</para>
-</listitem>
-
-<listitem><para>Do not retitle any
-      existing section as "Endorsements" or to conflict in title with
-      any Invariant Section.</para>
-</listitem> </orderedlist> <para>If the Modified Version includes new
-front-matter sections
-    or appendices that qualify as Secondary Sections and contain no
-    material copied from the Document, you may at your option designate
-    some or all of these sections as invariant.  To do this, add their
-    titles to the list of Invariant Sections in the Modified Version's
-    license notice.  These titles must be distinct from any other section
-    titles.</para>
-
-<para>You may add a section entitled "Endorsements", provided it
-    contains nothing but endorsements of your Modified Version by various
-    parties--for example, statements of peer review or that the text has
-    been approved by an organization as the authoritative definition of
-    a standard.</para>
-
-<para>You may add a passage of up to five words as a Front-Cover
-    Text, and a passage of up to 25 words as a Back-Cover Text, to the end
-    of the list of Cover Texts in the Modified Version.  Only one passage
-    of Front-Cover Text and one of Back-Cover Text may be added by (or
-    through arrangements made by) any one entity.  If the Document already
-    includes a cover text for the same cover, previously added by you or
-    by arrangement made by the same entity you are acting on behalf of,
-    you may not add another; but you may replace the old one, on explicit
-    permission from the previous publisher that added the old one.</para>
-
-<para>The author(s) and publisher(s) of the Document do not by
-    this License give permission to use their names for publicity for
-    or to assert or imply endorsement of any Modified Version.</para>
-</sect3>
-
-<sect3 id="gfdl-5"> <title>COMBINING DOCUMENTS</title>
-
-<para>You may combine the Document with other documents released
-    under this License, under the terms defined in section 4 above for
-    modified versions, provided that you include in the combination all of
-    the Invariant Sections of all of the original documents, unmodified,
-    and list them all as Invariant Sections of your combined work in
-    its license notice.</para>
-
-<para>The combined work need only contain one copy of this
-    License, and multiple identical Invariant Sections may be replaced
-    with a single copy.  If there are multiple Invariant Sections with
-    the same name but different contents, make the title of each such
-    section unique by adding at the end of it, in parentheses, the
-    name of the original author or publisher of that section if known,
-    or else a unique number.  Make the same adjustment to the section
-    titles in the list of Invariant Sections in the license notice of
-    the combined work.</para>
-
-<para>In the combination, you must combine any sections entitled
-    "History" in the various original documents, forming one section
-    entitled "History"; likewise combine any sections entitled
-    "Acknowledgements", and any sections entitled "Dedications".
-    You must delete all sections entitled "Endorsements."</para>
-</sect3>
-
-<sect3 id="gfdl-6"> <title>COLLECTIONS OF DOCUMENTS</title>
-
-<para>You may make a collection consisting of the Document and
-    other documents released under this License, and replace the
-    individual copies of this License in the various documents with a
-    single copy that is included in the collection, provided that you
-    follow the rules of this License for verbatim copying of each of
-    the documents in all other respects.</para>
-
-<para>You may extract a single document from such a collection,
-    and distribute it individually under this License, provided you
-    insert a copy of this License into the extracted document, and follow
-    this License in all other respects regarding verbatim copying of
-    that document.</para>
-</sect3>
-
-<sect3 id="gfdl-7"> <title>AGGREGATION WITH INDEPENDENT WORKS</title>
-<para>A compilation of the Document or its derivatives with other
-    separate and independent documents or works, in or on a volume
-    of a storage or distribution medium, does not as a whole count
-    as a Modified Version of the Document, provided no compilation
-    copyright is claimed for the compilation.  Such a compilation is
-    called an "aggregate", and this License does not apply to the other
-    self-contained works thus compiled with the Document, on account
-    of their being thus compiled, if they are not themselves derivative
-    works of the Document.</para>
-
-<para>If the Cover Text requirement of section 3 is applicable to
-    these copies of the Document, then if the Document is less than
-    one quarter of the entire aggregate, the Document's Cover Texts
-    may be placed on covers that surround only the Document within
-    the aggregate.  Otherwise they must appear on covers around the
-    whole aggregate.</para>
-</sect3>
-
-<sect3 id="gfdl-8"> <title>TRANSLATION</title>
-
-<para>Translation is considered a kind of modification, so you may
-    distribute translations of the Document under the terms of section 4.
-    Replacing Invariant Sections with translations requires special
-    permission from their copyright holders, but you may include
-    translations of some or all Invariant Sections in addition to the
-    original versions of these Invariant Sections.  You may include
-    a translation of this License provided that you also include the
-    original English version of this License.  In case of a disagreement
-    between the translation and the original English version of this
-    License, the original English version will prevail.</para>
-</sect3>
-
-<sect3 id="gfdl-9"> <title>TERMINATION</title> <para>You may not copy,
-modify, sublicense, or distribute the
-    Document except as expressly provided for under this License.
-    Any other attempt to copy, modify, sublicense or distribute the
-    Document is void, and will automatically terminate your rights under
-    this License.  However, parties who have received copies, or rights,
-    from you under this License will not have their licenses terminated
-    so long as such parties remain in full compliance.</para>
-</sect3>
-
-<sect3 id="gfdl-10"> <title>FUTURE REVISIONS OF THIS LICENSE</title>
-
-<para>The Free Software Foundation may publish new, revised
-    versions of the GNU Free Documentation License from
-    time to time.  Such new versions will be similar
-    in spirit to the present version, but may differ in
-    detail to address new problems or concerns.  See <ulink
-    url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
-
-<para>Each version of the License is given a distinguishing
-    version number.  If the Document specifies that a particular
-    numbered version of this License "or any later version" applies
-    to it, you have the option of following the terms and conditions
-    either of that specified version or of any later version that has
-    been published (not as a draft) by the Free Software Foundation.
-    If the Document does not specify a version number of this License,
-    you may choose any version ever published (not as a draft) by the
-    Free Software Foundation.</para>
-</sect3>
-
-<sect3 id="gfdl-11"> <title>How to use this License for your
-documents</title>
-
-<para>To use this License in a document you have written, include
-    a copy of the License in the document and put the following copyright
-    and license notices just after the title page:</para>
-
-<blockquote><para> Copyright (c)  YEAR	YOUR NAME.
-      Permission is granted to copy, distribute and/or modify this
-      document under the terms of the GNU Free Documentation License,
-      Version 1.1 or any later version published by the Free Software
-      Foundation; with the Invariant Sections being LIST THEIR TITLES,
-      with the Front-Cover Texts being LIST, and with the Back-Cover
-      Texts being LIST.  A copy of the license is included in the section
-      entitled "GNU Free Documentation License".
-</para></blockquote>
-
-<para>If you have no Invariant Sections, write "with no Invariant
-    Sections" instead of saying which ones are invariant.  If you
-    have no Front-Cover Texts, write "no Front-Cover Texts" instead of
-    "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.</para>
-
-<para>If your document contains nontrivial examples of program
-    code, we recommend releasing these examples in parallel under your
-    choice of free software license, such as the GNU General Public
-    License, to permit their use in free software.</para>
-</sect3> </sect2> </sect1>
-
-</article>
-