bom se há coisas que me fazem comichão a cabeça que me faz perder horas de sono e que me deixa com os nervos a flor da pele é este senhor… 
No Ubuntu Jaunty o que vem é o Mono 2.0.1 e preciso de trabalhar com o Mono 2.4, claro esta que como sempre este senhor fez-me o favor de deixar de trabalhar assim que fiz a actualização, e quando digo que deixou de trabalhar deixa mesmo de trabalhar em grande é que com ele vão atrás uma serie de aplicações uma delas o F-Spot e a lista continua…
A primeira forma de colocar o Mono 2.4 a trabalhar não a vou descrever aqui, simplesmente que só se faz a actualização e depois só de pensar em colocar tudo a funcionar com o Mono 2.4 da-me voltas ao estômago.
A segunda forma de por o Mono 2.4 a correr é uma forma mais elegante pois vamos deixar o Mono 2.0.1 por defeito para todos os programas do Jaunty e utilizar o Mono 2.4 somente nas aplicações que queremos, portanto vamos por a mão na massa…
Primeiro que tudo vamos instalar os pré-requisitos para se poder fazer uma compilação
~$ sudo apt-get update
~$ sudo apt-get install build-essential autoconf automake
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev
libjpeg62-dev libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev
libglib2.0-dev libgtk2.0-dev libglade2-dev libart-2.0-dev
libgnomevfs2-dev libgnome-desktop-dev libgnome2-dev libgnomecanvas2-dev
libgnomeui-dev libgnomeprint2.2-dev libgnomeprintui2.2-dev
libpanel-applet2-dev libnautilus-burn-dev librsvg2-dev
libgtkhtml3.14-dev libgtksourceview2.0-dev libgtksourceview-dev
libvte-dev libwnck-dev libnspr4-dev libnss3-dev libxul-dev
libwebkit-dev libvala-dev
A seguir ir ao ftp da Novell e fazer o download dos arquivos source, ir também ao site da MonoDevelop e fazer o download da source.
Criar uma directoria na Home para extrair as sources
$> mkdir -p src/mono-2.4; cd src/mono-2.4
de seguida vamos preparar o nosso sistema para poder trabalhar com duas versões diferentes do Mono, agora vamos criar o script que nos permite carregar o ambiente em Mono 2.4
~$ cat > mono-2.4-environment
#!/bin/bash
MONO_PREFIX=/opt/mono-2.4
GNOME_PREFIX=/opt/gnome-2.4
export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
PATH=$MONO_PREFIX/bin:$PATH
PS1=”[mono-2.4] w @ “
~$ sudo mv mono-2.4-environment /usr/local/bin
~$ sudo chmod +x /usr/local/bin/mono-2.4-environment
a seguir um segundo script que ira carregar o ambiente e executar os seus argumentos
~$ cat > mono-2.4
#!/bin/bash
MONO_PREFIX=/opt/mono-2.4
GNOME_PREFIX=/opt/gnome-2.4
export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
PATH=$MONO_PREFIX/bin:$PATH
exec “$@”
~$ sudo mv mono-2.4 /usr/local/bin
~$ sudo chmod +x /usr/local/bin/mono-2.4
carregar o novo ambiente
~$ source mono-2.4-environment
depois deste comando a prompt ira mudar, [mono-2.4], o que nos indica que o ambiente mudou para Mono 2.4
[mono-2.4] ~ @ cd ~/src/mono-2.4
de seguida criar a directoria onde tudo ira ser instalado
[mono-2.4] ~ @ sudo mkdir -p /opt/mono-2.4
A partir deste ponto fazer a instalação normal do Mono 2.4, para carregar qualquer programa em Mono 2.4
~$ mono-2.4 PATH_TO_THE_PROGRAM_AND_ITS_ARGUMENTS_IF_ANY
Se a segunda solução era elegante a terceira é poética!!!
Ir ao Mono PPA e seguir a instruções!!!