How to install the latest MonoDevelop on Linux

Note: If there is no mono/gtk# release available for your Linux distribution, head to the lower section!

You can open up the terminal and install it via the following:

  1. sudo add-apt-repository ppa:keks9n/monodevelop-latest
  2. sudo apt-get update
  3. sudo apt-get install monodevelop-latest

If you wish to compile MonoDevelop from source, try the following in the terminal:

  1. “sudo apt-get install git” -> skip if you already have git installed
  2. “sudo apt-get install mono-devel”
  3. “sudo apt-get build-dep monodevelop” -> this downloads dependencies for compiling monodevelop
  4. “git clone git://github.com/mono/monodevelop.git”
  5. “cd monodevelop”
  6. “./configure” -> at this stage you may want to select other addin packages in the build, but you may need to install other packages (e.g. ValaBinding needs “libvala-0.12-dev”).  Also, i never got it to work by selecting all anyway.
  7. “make”
  8. “make install”  -> note: this installs to the default prefix of  ”/usr/local”
  9. “monodevelop” -> launches monodevelop

If you already have the repository code checkout, and want to pull the latest changes, go straight to step 5) then do a “git pull”, and then continue on with step 6)


Build the MonoDevelop requirements manually

a) Build mono:

  1. sudo apt-get build-dep mono
  2. sudo apt-get install mono-gmcs
  3. git clone https://github.com/mono/mono.git
  4. cd mono
  5. ./autogen.sh –prefix=/usr/local
  6. make -j5 2>&1 | tee build.log
  7. sudo make install
  8. sudo apt-get remove mono-gmcs

b) Build mono-addins:

  1. git clone https://github.com/mono/mono-addins.git
  2. cd mono-addins
  3. ./autogen.sh –prefix=/usr/local
  4. make -j5 2>&1 | tee build.log
  5. sudo make install

c) Build gtk#:

  1. git clone -b gtk-sharp-2-12-branch https://github.com/mono/gtk-sharp.git
  2. cd gtk-sharp/
  3. ./bootstrap-2.12 –prefix=/usr/local
  4. make -j5 2>&1 | tee build.log
  5. sudo make install

d) To install MonoDevelop, proceed like shown in the upper section
Note: It’s needed to run monodevelop with the environment variable
LD_LIBRARY_PATH=/usr/local/lib/monodevelop

(otherwise there will be an error about glibsharpglue-2 not being found)


If anyone has any instructions on how to get the latest monodevelop on fedora, suse, etc.. please let me know so that I can add it to this post.

11 Comments

  • Pingback: Install the latest Mono Develop on Linux [Fix any issues] | Georgi-it.com Blog

  • Okan
    May 4, 2012 - 3:15 pm | Permalink

    Hi.When i am trying install D language binding it says:
    “The selected add-ins can’t be installed because there are dependency conflicts
    The package ‘Ide v2.9.5′ could not be found in any repository
    The package ‘Core v2.9.5′ could not be found in any repository
    The package ‘SourceEditor2 v2.9′ could not be found in any repository
    The package ‘DesignerSupport v2.9′ could not be found in any repository

    How can i solve this problem? Please help

    • alex
      May 4, 2012 - 3:19 pm | Permalink

      You need the latest alpha of MonoDevelop.

      If you’re running linux, apt-get install monodevelop-latest, if you’re using Windows, you’ve got to install the 2.9.5 Alpha in order to be able to install it.

  • MInas
    April 30, 2012 - 6:59 pm | Permalink

    I’m trying to install the latest releast. First I added the repository, but when I do:
    “sudo apt-get update”

    I get:
    W: Failed to fetch http://ppa.launchpad.net/keks9n/monodevelop-latest/ubuntu/dists/precise/main/source/Sources 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/keks9n/monodevelop-latest/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/keks9n/monodevelop-latest/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found

    E: Some index files failed to download. They have been ignored, or old ones used instead.

    • alex
      April 30, 2012 - 7:19 pm | Permalink

      Lol I guess it’s not necessary anymore to add that repository. Are you able to install monodevelop-latest though? Cause then, I’ll delete that command from the list

  • a
    April 7, 2012 - 12:42 pm | Permalink

    To install on Debian Squeeze I had to do the following first:

    sudo apt-get build-dep mono
    sudo apt-get install mono-gmcs
    git clone https://github.com/mono/mono.git
    cd mono
    ./autogen.sh –prefix=/usr/local
    make -j5 2>&1 | tee build.log
    sudo make install

    sudo apt-get remove mono-gmcs

    git clone https://github.com/mono/mono-addins.git
    cd mono-addins
    ./autogen.sh –prefix=/usr/local
    make -j5 2>&1 | tee build.log
    sudo make install

    git clone -b gtk-sharp-2-12-branch https://github.com/mono/gtk-sharp.git
    cd gtk-sharp/
    ./bootstrap-2.12 –prefix=/usr/local
    make -j5 2>&1 | tee build.log
    sudo make install

    I must run monodevelop with (otherwise I get an error about glibsharpglue-2 not being found):
    LD_LIBRARY_PATH=/usr/local/lib/ monodevelop

    • alex
      April 7, 2012 - 1:00 pm | Permalink

      Can I put this in the article?

      • a
        April 8, 2012 - 9:55 am | Permalink

        Yes, of course. You should also add “-b 2.8.4″ to the “git clone git://github.com/mono/monodevelop.git” command above, because otherwise it is impossible to use Add-in repositories in the resulting monodevelop. But note that not everything works in my Mono-D installation. For example, when I right click somwhere in the editor for the first time I get this error:

        System.NullReferenceException: Object reference not set to an instance of an object
        at D_Parser.Resolver.ResolverContextStack.Create (IEditorData editor) [0x00000] in :0
        at MonoDevelop.D.Resolver.DResolverWrapper.ResolveHoveredCode (D_Parser.Resolver.ResolverContextStack& ResolverContext, MonoDevelop.Ide.Gui.Document doc) [0x00000] in :0
        at MonoDevelop.D.Refactoring.ContextMenuRefactoringCommandHandler.Update (MonoDevelop.Components.Commands.CommandArrayInfo info) [0x00000] in :0
        at MonoDevelop.Components.Commands.CommandHandler.InternalUpdate (MonoDevelop.Components.Commands.CommandArrayInfo info) [0x00001] in /home/j/build/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandHandler.cs:52
        at MonoDevelop.Components.Commands.CommandManager.DefaultUpdateCommandInfo (MonoDevelop.Components.Commands.ActionCommand cmd, MonoDevelop.Components.Commands.CommandInfo info) [0x0006c] in /home/j/build/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:825
        at MonoDevelop.Components.Commands.CommandManager.GetCommandInfo (System.Object commandId, MonoDevelop.Components.Commands.CommandTargetRoute targetRoute) [0x001ba] in /home/j/build/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:794

        and then there is no “go to definition” in the context menu.

        • alex
          April 8, 2012 - 12:57 pm | Permalink

          I guess that’s because of the latest changes concerning the big release number change from 2.8 to 2.9 – but thanks for having noticed it :)

  • December 10, 2011 - 7:36 pm | Permalink

    You have error in first step – “sudo apt-apt-repository ppa:keks9n/monodevelop-latest”. It should be apt-add-repository, not apt-apt-repository.

    • alex
      December 10, 2011 - 7:41 pm | Permalink

      Fixed it. Thanks.

  • Leave a Reply

    Your email address will not be published. Required fields are marked *


    six + = 12

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>