Mono for Debian
---------------

1. Documentation can be found in the separated monodoc packages.

2. Supported Processor Architectures for Mono 1.1.x (current)
    JIT:
    Linux/x86
    Linux/AMD64
    Linux/PPC
    Linux/S390 (not functional)
    Linux/ARM
    Solaris/SPARC
    
    Interpreter (deprecated/unmaintained):
    -

   Supported Processor Architectures for Mono 1.0.x (old)
    JIT:
    Linux/x86
    Linux/PPC
    MacOS/PPC

    Interpreter (deprecated/unmaintained):
    Linux/x86
    Linux/PPC
    HP-UX/HPPA
    S390
    StrongARM
    Solaris/SPARC
    Solaris/SPARC v9
 
3. Typical problems:
3a.  Configure binfmt_misc if you want mono programs to be executable
     or see error messages like:

       HelloWorld.exe: cannot execute binary file: Exec format error

     Create a file called /etc/binfmt.d/mono.conf containing this line:

	:CLR:M::MZ::/usr/bin/mono:

     and run `systemctl restart systemd-binfmt`.

3b.  Purge your ~/.wapi directory if you see messages like:

     ** (/tmp/hello.exe:23770): WARNING **: Shared memory sanity check
     failed.

     ** (/tmp/hello.exe:23770): WARNING **: Failed to attach shared memory!
     Falling back to non-shared handles

     Reason:
     02:00:00 < totte> .wapi is the shared memory file folder used to handle process.start and someother functions for our IO lib

3c. Question:
    Mono does not work for me (wrong version of mscorlib reported) or
    monodevelop breaks on start (MonoDevelop.Core.dll has incorrect
    version...)
    Answer:
    Most likely you have compiled some old Mono version before and have
    a funny mixture of upstream and Debian files in different versions.
    Make sure that /usr/local does not appear in the output of the
    following commands and remove the particular files in /usr/local/...:

    which mono
    which mint
    ldd $(which mono)
    ls /usr/local/lib/Mono*dll
    ls /usr/local/lib/System*dll
    ls /usr/local/lib/I18*dll
    (and maybe most other dll files there)

4. (for developers) 
   The main coordination site of the maintainers is on
   http://pkg-mono.alioth.debian.org/, more details can be found there.
   CLI Policy for packaging Mono libraries/applications can be found on
   http://pkg-mono.alioth.debian.org/cli-policy/
   An offline version is in /usr/share/doc/cli-common/ of the cli-common package.
