Installing MonoDevelop from Source on Ubuntu
After reading a post from my friend Daniel about the new release of MonoDevelop, I decided to try and install it… which is when I realized that the installation from source is so painful I’d better figure it out and share it with everybody else.
The first thing we’ll need to do is install all the prerequisite development library packages so we can link against them when we build. This will take quite a long time, especially the monodoc installation.
You should note that the mono runtime is installed by default in Feisty, which is why it doesn’t appear in this list. If you try this on a different release you’ll want to make sure to install that as well.
sudo apt-get install mono-devel build-essential mono-gmcs libmono-dev libpango1.0-dev libgtk2.0-dev libgtksourceview2.0-cil libgecko2.0-cil monodoc libmono-system-runtime2.0-cil libmono-cairo2.0-cil gettext
Now you’ll want to download, extract and untar the latest source code into a directory of your choice. (You’ll want to make sure 0.16 is still the latest)
wget http://go-mono.com/sources/monodevelop/monodevelop-0.16.tar.bz2
bunzip2 monodevelop-0.16.tar.bz2
tar xvf monodevelop-0.16.tar
cd monodevelop-0.16
Now we can start the compilation, and you’ll notice that the ./configure line passes in the prefix option so that it will install in the correct directory.
./configure –prefix=`pkg-config –variable=prefix mono`
make
sudo make install
At this point MonoDevelop should be installed. You can launch it with Alt+F2 by entering monodevelop into the run box.
MonoDevelop is really coming along since the last time I used it, although there are still a lot of bugs. The most notable missing feature is the lack of integrated debugger…

Tested on a clean Feisty install.

Daily Email Updates
You can get our how-to articles in your inbox each day for free. Just enter your name and email below:


Now that you installed it from source you can make a deb package and upload it to the getdeb site
I also don’t like “make install” on package managed systems.
I’ve tried this on Ubuntu 7.10 and everything worked! The only issue was with copying the line “./configure –prefix=`pkg-config –variable=prefix mono`” from Firefox to the command line. For some reason the “-” before “prefix” was mapped to a different character on the command line.
Thanks!
Hi I get this error in in a message box, unhandled exception:
Exception occurred: Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus —> System.DllNotFoundException: gdiplus.dll
at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
at System.Drawing.GDIPlus..cctor () [0x00000] — End of inner exception stack trace —
at
at System.Drawing.Image.InitFromStream (System.IO.Stream stream) [0x00000]
at System.Drawing.Bitmap..ctor (System.Type type, System.String resource) [0x00000]
at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap:.ctor (System.Type,string)
at System.Windows.Forms.Design.PropertyTab.get_Bitmap () [0x00000]
at MonoDevelop.DesignerSupport.PropertyGrid.PropertyGrid.AddPropertyTab (System.Windows.Forms.Design.PropertyTab tab) [0x00000]
at MonoDevelop.DesignerSupport.PropertyGrid.PropertyGrid..ctor (MonoDevelop.DesignerSupport.PropertyGrid.EditorManager editorManager) [0x00000]
at MonoDevelop.DesignerSupport.PropertyGrid.PropertyGrid..ctor () [0x00000]
at MonoDevelop.DesignerSupport.PropertyPad..ctor () [0x00000]
at
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[])
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] — End of inner exception stack trace —
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000]
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000]
at Mono.Addins.RuntimeAddin.CreateInstance (System.String typeName, Boolean throwIfNotFound) [0x00000]
at MonoDevelop.Ide.Codons.PadCodon.CreatePad () [0x00000]
at MonoDevelop.Ide.Codons.PadCodon.get_PadContent () [0x00000]
at MonoDevelop.Ide.Gui.SdiWorkbenchLayout.CreatePadContent (Boolean force, MonoDevelop.Ide.Codons.PadCodon padCodon, MonoDevelop.Ide.Gui.PadWindow window, Gdl.DockItem item) [0x00000]
at MonoDevelop.Ide.Gui.SdiWorkbenchLayout+c__CompilerGenerated76.c__77 (System.Object +41, System.EventArgs +42) [0x00000]
at GLib.Signal.voidObjectCallback (IntPtr handle, IntPtr gch) [0x00000]
What can I do to fix it?
P.S: I like the style of this leave comment form.
It is noteworthy that one has to uninstall the monodevelop package that is in Feisty’s universe repository if it has been installed before. I didn’t do so for the first attempt to follow this how-to and monodevelop failed to load its add-ins, suppose because the versions got mixed up. It was not even able to load the source editor add-in. Well, after removing the ‘original’ monodevelop package your installation instructions worked. Thank your very much!
Doesn’t it has to be
./configure `–prefix=pkg-config –variable=prefix mono`
instead of
./configure –prefix=`pkg-config –variable=prefix mono`
(look at the >>`
I think there has to be a step to generate the ./configure file. Mine didn’t come from svn with a ./configure in it.
Hi, I guess alien-ing the RPM package is much more helpful in some situations:
I just did the following (me, however had the version up, which came with 7.10):
alien –scripts monodevelop_0.17-0.novell.noarch.rpm
when it finished:
dpkg -i monodevelop_0.17-0-all.deb
thanks so much for this, what a pain to compile! the current ubuntu package is way too old too!
plz plz anyone make .deb and upload the latest monodevelop (0.18.1) to getdeb
in configure rewrite — (2 time -) in prefix and variable otherway if you copy-past it as is originaly written there it would not work cause is like one line just – .
like this :
./configure –prefix=`pkg–config –variable=prefix mono`
make
sudo make install
Mono Develop is working to in the same way. (at Day 24.01.2008) you only have to chang 0.16 to 0.17 in above. but 0.18 and 0.18.1 aren’t working on this way.
successfully installed in Ubuntu Gutsy, but I think the line as indicated at the beginning is wrong:
./configure –prefix=`pkg-config –variable=prefix mono`
But rather should be this way:
./configure – prefix=`pkg-config – variable=prefix mono`
only because I tried it both ways and the second way was the charm. Coincidentally do not know if this is a big deal,
but upon installation through the terminal, I got this message in the terminal:
Note that ‘/share’ is not in the search path
set by the XDG_DATA_HOME and XDG_DATA_DIRS
environment variables, so applications may not
be able to find it until you set them. The
directories currently searched are:
- /root/.local/share
- /usr/local/share/
- /usr/share/
- /usr/share/gdm/
Anyways, I tried to see if I could find the latest version as you indicated through Synaptic and realized that the version that was posted in synaptic was older than the one that you indicate on your instruction so I decided to use yours.
Here is the end result on my end.
http://www.geocities.com/lionr.....evelop.jpg
Monodevelop binaries for ubuntu gutsy here:
http://bloggiver.blogspot.com/.....gutsy.html
I cant seem to get MonoDevelop 1.0. Can anybody update this?
Easy and safe way to install monodevelop 1.0 on most versions of ubuntu:
Add the following repository (using System/Administration/Software Sources):
deb http://debian.meebey.net/etch-backports /
The simply use open synaptic, search for monodevelop, and click apply.
(More details can be found on the mono site. they tested on gutsy, I tested on feisty, i imagine it works on hardy too and probably even edgy/dapper.)
http://www.mono-project.com/Ot....._packages:
I’d got a binary from here,
http://monodevelop.com/Download
on Ubuntu Hardy Heron though, it asks for these two files before it can install or compile any software – mtools and z7
(I’m not sure if they’re available online to download and place in the required folders manually; my Ubuntu machine isn’t online and automatically tries to get anything it doesn’t have in some automatic update type of way – which is a nightmare btw in trying to install graphics card drivers: why doesn’t it just let you load them manually (on the dekstop menu option) from any chosen media – why only from online?! Seems like a gaping omission when they include so many games and related built-in apps that rely on 3D acceleration to run at more than 2 fps)*
*the other way to install apps, via the command line, is also a bit wrong in that version of Ubuntu – there is some change to the run level settings, so even if you’re the root user it doesn’t let you install drivers unless you drop down to about level 3 (5 is usually the default)
Nobody seems to realise some linuxs are going the wrong way! Why have such complex or no access to normal computer things like installing as root, when there’s all kinds of automatic updates built in – it’s not secure anyway when there’s automatic download anything going on! Sure if you’re online and get your connection watched and you’re only a limited user then your installation is safer (as they’d only have access, initially anyway, to the account you are currently using) – but that account is likely to be where all your personal data is…