Mono .deb in Ubuntu. Keep it up (to Date)!

So, Ubuntu has this problem of maintaining outdated releases of Mono/MonoDevelop.  This sucks, but I really don’t want to switch to OpenSUSE or Fedora.  I had thought about using the universal installer, but I really wanted to keep things going through apt, especially since there already is a mono version installed with Gutsy Gibbon by default, so having two side by side installs of Mono seemed less than ideal.

I had also considered compiling from source and trying out checkinstall, or even learning dh_make.  This I might be interested in the future, but I’m no pro at linux by any means, and this task was a bit daunting to me (I don’t know enough about either method to feel comfortable packaging such a large project).

As I was near giving up,  I stumbled across a post in Ubuntu Forums with a couple of bash scripts to automatically go out, install the proper build dependencies, and then get the latest mono stable source, compile it, and install it as a package.  This was EXACTLY what I needed.

Here it is for future reference for myself, and anyone else who might stumble across this page and find it useful:

First, getting all the necessary libraries:

#!/bin/bash

sudo apt-get update
sudo apt-get upgrade

sudo apt-get build-dep mono –assume-yes
sudo apt-get build-dep gnome-devel –assume-yes
sudo apt-get build-dep build-essential –assume-yes
sudo apt-get build-dep devscripts –assume-yes
sudo apt-get build-dep dh-buildinfo –assume-yes
sudo apt-get build-dep sbuild –assume-yes
sudo apt-get build-dep pkg-config –assume-yes
sudo apt-get build-dep libextutils-pkgconfig-perl –assume-yes
sudo apt-get build-dep libgift-dev –assume-yes
sudo apt-get build-dep libpthread-stubs0-dev –assume-yes
sudo apt-get build-dep xserver-xorg-dev –assume-yes
sudo apt-get build-dep bison –assume-yes
sudo apt-get build-dep libcairo2-dev –assume-yes
sudo apt-get build-dep libcairo-directfb2 –assume-yes
sudo apt-get build-dep libcairo-directfb2-dev –assume-yes
sudo apt-get build-dep libglib1.2 –assume-yes
sudo apt-get build-dep libglib1.2-dev –assume-yes
sudo apt-get build-dep libglib2.0-0 –assume-yes
sudo apt-get build-dep libglib2.0-cil –assume-yes
sudo apt-get build-dep libglib2.0-data –assume-yes
sudo apt-get build-dep libglib2.0-dev –assume-yes
sudo apt-get build-dep libungif4-dev –assume-yes
sudo apt-get build-dep libungif-bin –assume-yes
sudo apt-get build-dep libjpeg-progs –assume-yes
sudo apt-get build-dep libtiff4-dev –assume-yes
sudo apt-get build-dep libtiff-opengl –assume-yes
sudo apt-get build-dep libtiff-tools –assume-yes
sudo apt-get build-dep libtiffxx0c2 –assume-yes
sudo apt-get build-dep libgnome-desktop-dev –assume-yes
sudo apt-get build-dep libgtkhtml2-0 –assume-yes
sudo apt-get build-dep libgtkhtml2-dev –assume-yes
sudo apt-get build-dep libgtkhtml3.14-dev –assume-yes
sudo apt-get build-dep libgtkhtml3.8-dev –assume-yes
sudo apt-get build-dep libgtkhtml3.8-15 –assume-yes
sudo apt-get build-dep libgtkhtml3.8-dev –assume-yes
sudo apt-get build-dep libvte2.0-cil –assume-yes
sudo apt-get build-dep libvte-cil –assume-yes
sudo apt-get build-dep libvte-dev –assume-yes
sudo apt-get build-dep librsvg2-bin –assume-yes
sudo apt-get build-dep librsvg2-dev –assume-yes
sudo apt-get build-dep libgail-gnome-dev –assume-yes
sudo apt-get build-dep libgnome-cil –assume-yes
sudo apt-get build-dep libgnomedb2-4 –assume-yes
sudo apt-get build-dep libgnomedb2-bin –assume-yes
sudo apt-get build-dep libgnomedb2-dev –assume-yes
sudo apt-get build-dep libgnome-dev –assume-yes
sudo apt-get build-dep libpanel-applet2-dev –assume-yes
sudo apt-get build-dep gawk –assume-yes
sudo apt-get build-dep exif –assume-yes
sudo apt-get build-dep exiftags –assume-yes
sudo apt-get build-dep exiftran –assume-yes
sudo apt-get build-dep exifprobe –assume-yes
sudo apt-get build-dep libexif-gtk-dev –assume-yes
sudo apt-get build-dep libexif-gtk5 –assume-yes
sudo apt-get build-dep libsdl-pango1 –assume-yes
sudo apt-get build-dep libsdl-pango-dev –assume-yes
sudo apt-get build-dep monodevelop –assume-yes

sudo aptitude install gnome-devel –with-recommends –assume-yes
sudo aptitude install build-essential –with-recommends –assume-yes
sudo aptitude install devscripts –with-recommends –assume-yes
sudo aptitude install dh-buildinfo –with-recommends –assume-yes
sudo aptitude install sbuild –with-recommends –assume-yes
sudo aptitude install pkg-config –with-recommends –assume-yes
sudo aptitude install libextutils-pkgconfig-perl –with-recommends –assume-yes
sudo aptitude install libgift-dev –with-recommends –assume-yes
sudo aptitude install libpthread-stubs0-dev –with-recommends –assume-yes
sudo aptitude install xserver-xorg-dev bison –with-recommends –assume-yes
sudo aptitude install libcairo2-dev –with-recommends –assume-yes
sudo aptitude install libcairo-directfb2 –with-recommends –assume-yes
sudo aptitude install libcairo-directfb2-dev –with-recommends –assume-yes
sudo aptitude install libglib1.2 –with-recommends –assume-yes
sudo aptitude install libglib1.2-dev –with-recommends –assume-yes
sudo aptitude install libglib2.0-0 –with-recommends –assume-yes
sudo aptitude install libglib2.0-cil –with-recommends –assume-yes
sudo aptitude install libglib2.0-data –with-recommends –assume-yes
sudo aptitude install libglib2.0-dev –with-recommends –assume-yes
sudo aptitude install libungif4-dev –with-recommends –assume-yes
sudo aptitude install libungif-bin –with-recommends –assume-yes
sudo aptitude install libjpeg-progs –with-recommends –assume-yes
sudo aptitude install libtiff4-dev –with-recommends –assume-yes
sudo aptitude install libtiff-opengl –with-recommends –assume-yes
sudo aptitude install libtiff-tools –with-recommends –assume-yes
sudo aptitude install libtiffxx0c2 –with-recommends –assume-yes
sudo aptitude install libgnome-desktop-dev –with-recommends –assume-yes
sudo aptitude install libgtkhtml2-0 –with-recommends –assume-yes
sudo aptitude install libgtkhtml2-dev –with-recommends –assume-yes
sudo aptitude install libgtkhtml3.14-dev –with-recommends –assume-yes
sudo aptitude install libgtkhtml3.8-dev –with-recommends –assume-yes
sudo aptitude install libgtkhtml3.8-15 –with-recommends –assume-yes
sudo aptitude install libgtkhtml3.8-dev –with-recommends –assume-yes
sudo aptitude install libvte2.0-cil –with-recommends –assume-yes
sudo aptitude install libvte-cil –with-recommends –assume-yes
sudo aptitude install libvte-dev –with-recommends –assume-yes
sudo aptitude install librsvg2-bin –with-recommends –assume-yes
sudo aptitude install librsvg2-dev –with-recommends –assume-yes
sudo aptitude install libgail-gnome-dev –with-recommends –assume-yes
sudo aptitude install libgnome-cil –with-recommends –assume-yes
sudo aptitude install libgnomedb2-4 –with-recommends –assume-yes
sudo aptitude install libgnomedb2-bin –with-recommends –assume-yes
sudo aptitude install libgnomedb2-dev –with-recommends –assume-yes
sudo aptitude install libgnome-dev –with-recommends –assume-yes
sudo aptitude install libpanel-applet2-dev –with-recommends –assume-yes
sudo aptitude install gawk –with-recommends –assume-yes
sudo aptitude install exif –with-recommends –assume-yes
sudo aptitude install exiftags –with-recommends –assume-yes
sudo aptitude install exiftran –with-recommends –assume-yes
sudo aptitude install exifprobe –with-recommends –assume-yes
sudo aptitude install libexif-gtk-dev –with-recommends –assume-yes
sudo aptitude install libexif-gtk5 –with-recommends –assume-yes
sudo aptitude install libsdl-pango1 –with-recommends –assume-yes
sudo aptitude install libsdl-pango-dev –with-recommends –assume-yes

sudo apt-get autoremove –assume-yes

Next, installing mono:

#!/bin/bash

mkdir ~/Desktop/src
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/libgdiplus/libgdiplus-1.2.5.tar.bz2
tar xvf libgdiplus-1.2.5.tar.bz2
rm libgdiplus-1.2.5.tar.bz2
cd ~/Desktop/src/libgdiplus-1.2.5
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

sudo sh -c “echo /usr/local >> /etc/ld.so.conf”
sudo sh -c “echo /usr/local/lib >> /etc/ld.so.conf”
sudo ldconfig

wget http://go-mono.com/sources/mono/mono-1.2.5.1.tar.bz2
tar xvf mono-1.2.5.1.tar.bz2
rm mono-1.2.5.1.tar.bz2
cd ~/Desktop/src/mono-1.2.5.1
./configure –prefix=/usr/local -with-preview=yes
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/gtk-sharp/gtk-sharp-1.0.10.tar.gz
tar xzf gtk-sharp-1.0.10.tar.gz
rm gtk-sharp-1.0.10.tar.gz
cd ~/Desktop/src/gtk-sharp-1.0.10
./configure –prefix=/usr/local -with-preview=yes
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/gtk-sharp210/gtk-sharp-2.10.2.tar.bz2
tar xvf gtk-sharp-2.10.2.tar.bz2
rm gtk-sharp-2.10.2.tar.bz2
cd ~/Desktop/src/gtk-sharp-2.10.2
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/gecko-sharp2/gecko-sharp-2.0-0.12.tar.gz
tar xzf gecko-sharp-2.0-0.12.tar.gz
rm gecko-sharp-2.0-0.12.tar.gz
cd ~/Desktop/src/gecko-sharp-2.0-0.12
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/gnome-sharp2/gnome-sharp-2.16.0.tar.gz
tar xzf gnome-sharp-2.16.0.tar.gz
rm gnome-sharp-2.16.0.tar.gz
cd ~/Desktop/src/gnome-sharp-2.16.0
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/gtksourceview-sharp2/gtksourceview-sharp-2.0-0.11.tar.bz2
tar xvf gtksourceview-sharp-2.0-0.11.tar.bz2
rm gtksourceview-sharp-2.0-0.11.tar.bz2
cd ~/Desktop/src/gtksourceview-sharp-2.0-0.11
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/monodoc/monodoc-1.2.5.zip
unzip monodoc-1.2.5.zip
rm monodoc-1.2.5.zip
cd ~/Desktop/src/monodoc-1.2.5
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/mono-tools/mono-tools-1.2.4.tar.bz2
tar xvf mono-tools-1.2.4.tar.bz2
rm mono-tools-1.2.4.tar.bz2
cd ~/Desktop/src/mono-tools-1.2.4
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://go-mono.com/sources/mono-debugger/mono-debugger-0.50.tar.bz2
tar xvf mono-debugger-0.50.tar.bz2
rm mono-debugger-0.50.tar.bz2
cd ~/Desktop/src/mono-debugger-0.50
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

wget http://download.gnome.org/sources/glade3/3.4/glade3-3.4.0.tar.bz2
tar xvf glade3-3.4.0.tar.bz2
rm glade3-3.4.0.tar.bz2
cd ~/Desktop/src/glade3-3.4.0
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

sudo aptitude install monodoc-manual –with-recommends –assume-yes
sudo aptitude install monodevelop-boo –with-recommends –assume-yes
sudo aptitude install monodevelop-java –with-recommends –assume-yes
sudo aptitude install monodevelop-nunit –with-recommends –assume-yes
sudo aptitude install monodevelop-versioncontrol –with-recommends –assume-yes
sudo aptitude install monodevelop-query –with-recommends –assume-yes
sudo aptitude install nemerle –with-recommends –assume-yes
sudo aptitude install monodoc-gtk-manual –with-recommends –assume-yes
sudo aptitude install monodoc-gecko-manual –with-recommends –assume-yes
sudo aptitude install monodoc-nunit-manual –with-recommends –assume-yes
sudo aptitude install monodoc-browser –with-recommends –assume-yes
sudo aptitude install monodoc-http –with-recommends –assume-yes
sudo aptitude install monodoc-viewer –with-recommends –assume-yes

wget http://go-mono.com/sources/monodevelop/monodevelop-0.15.tar.bz2
tar xvf monodevelop-0.15.tar.bz2
rm monodevelop-0.15.tar.bz2
cd ~/Desktop/src/monodevelop-0.15
./configure –prefix=/usr/local
make
sudo make install
cd ~/Desktop/src
clear

sudo ldconfig

Run those two bash scripts in order, it takes awhile to do its thing, especially if you’re missing most of the dependencies from the first step, but it worked FLAWLESSLY for me on Ubuntu 7.10 Gutsy Gibbon!  Good luck!

Explore posts in the same categories: General Life

Comment: