The minor Mono versions (i.e 1.2.1, 1.2.2) are being released very fast. This is very good because a lot of bugs are being fixed as well as implementation enhancement but on the other hand it implies deployment issues.

The specific distribution packages are being released too much delayed because the Mono team is working very fast, distros’ package mantainers can not package as fast as you would like. The only distributions that have the latest packages up to date are Suse, Red Hat and Fedora. So I think that if your company is going to invest on Mono technology, they should think of use one of these distros. Well, I am an Debian/Ubuntu user and I love apt-get and Debian community but I’ve realized that sometimes you waste many time updating Mono from sources and you must know how Autotools work and other issues regarding deployment. So, by using a distro distinct of Suse,Red Hat or Fedora you might need a clever sysadmin on your developement team because you often need the latest bugfixes and improvements (i.e, mod-mono bugfixes or performance enhacements for your production machines).
Anyway, there are several solutions. One of these could be to chroot your environment for using Suse inside your Ubuntu distribution. Another one could be virtualization.
Another interesting solution is to use alternative repositories:

And the other cool solution is to download and run the linux binary installer for x86. I often have several versions of Mono installed on my machine; the package distribution one, the linux installer one and the built from sources one. It is important to recall that these are the key environment variables to point to your desired version:

  • export PATH=/usr/local/bin:$PATH
  • export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
  • export MANPATH=/usr/local/share/man:$MANPATH
  • export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Please check also this:  http://www.mono-project.com/Parallel_Mono_Environments

If you are a CastleProject user just install Mono by downloading the linux binary installer, set the variables above and run.
This installer comes with Gtk#2.4 so If you need Gtk# 2.8 then you can installed it by apt-get and then add the DLLs to the GAC (after setting the environment vars):

  • cd cd /usr/lib/mono/gac/gtk-sharp/2.8.0.0__35e10195dab3c99f/
  • gacutil -i gtk-sharp.dll

Currently MonoDevelop needs gmcs to build. I build it from sources because of it cool bugfixes and new features so if you are in trouble building MD ensure that gmcs is in your PATH and ensure that your LD_LIBRARY_PATH is correct. You can also check the GACs contents:

  • gacutil -l -root /usr/lib
  • gacutil -l -root /usr/local/lib
  • gacutil -l -root whatever