Every Flavour Beans

“The time has come…to talk of many [technologies].” –Lewis Carroll(‘The Walrus and the Carpenter’)
Development Tools. Web Frameworks. GNU/Linux. Nokia N800. Video Encoding.

March 3, 2006

C# & MonoDevelop (.NET) on Gentoo and Ubuntu

Filed under: GNU/Linux, Gentoo, Mono, Ubuntu — tabrez @ 9:03 am

.NET developers looking for a similar development framework on the GNU/Linux operating system should check out the Mono project. It’s fairly simple to install Mono on most of the GNU/Linux platforms and to start developing applications using the C# language. But beginner programmers would love to have an easy to use IDE which could integrate all the tools required for C# based development in one place. One such tool is MonoDevelop which is fast developing into a useful product. Installing it on rpm based distribution was not a satisfactory experience for me however. But I knew it should be easy to install it on Ubuntu and Gentoo operating systems. if you have included Mutliverse and Universe repositories in the apt source list, then MonoDevelop is just one 'apt-get install' away on Ubuntu.

sh# sudo apt-get install monodevelop

It required only a bit more effort on a Gentoo system, so I am documenting it here. Most of the packages required to get MonoDevelop working on a Gentoo system are in the masked state. Put the following lines in the /etc/portage/package.keywords file(create it if it already doesn't exist):

>=dev-dotnet/gtkhtml-sharp-2.4.0 ~x86
>=dev-dotnet/glade-sharp-2.4.0 ~x86
>=dev-dotnet/gconf-sharp-2.4.0 ~x86
>=dev-dotnet/art-sharp-2.4.0 ~x86
>=dev-dotnet/gnome-sharp-2.4.0 ~x86
>=dev-dotnet/vte-sharp-2.4.0 ~x86
>=dev-dotnet/gnomevfs-sharp-2.4.0 ~x86
dev-dotnet/gtksourceview-sharp ~x86
dev-dotnet/gecko-sharp ~x86
dev-dotnet/libgdiplus ~x86
dev-util/monodevelop ~x86
dev-lang/mono ~x86

you can drop ">=" in front of some of the lines above by dropping the version numbers in the same lines.
eg: dev-dotnet/gtkhtml-sharp ~x86

Now run the following command to get everything installed:

sh# emerge monodevelop

Similarly 'emerge mono' will get only the mono environment, and all the development can be carried out using your favourite editor and the command shell.

If you get any problems, first try 'emerge sync' to get everything synchronised, and then re-run 'emerge monodevelop'. If you still get any errors, see if still there are any dependency problems left that are in the masked state. if so, add them too to the '/etc/portage/package.keywords' file and repeat the process.
Let me know how this works out for you as I haven't found much information regarding this on the internet.


If you want to receive future posts by email, enter your email address here:

Related Posts:

  • How to Speed up Booting Into GNOME – A Gentoo Wiki Tip
  • Java on Gentoo
  • Two Applications For Easy Management Of ‘USE’ Flags In Gentoo
  • Moving A GNU/Linux Installation To A Different Partition
  • A NFS Story on Gentoo
  • Update or Install Applications on a Gentoo Machine Without an Internet Connection
  • Installing C++ Boost on Gentoo and Debian/Ubuntu


  • 10 Comments »

    1. Thank you very much for posting this, I used Gentoo for a while on a dual boot (AMD64) before I set up a dedicated system. I didn’t know how to unmask packages back then so I never used Mono on my newer 64 bit. I’d still be running Gentoo on my dedicated system (an old Ultra 10) if it didn’t take so long to compile stuff.

      Cheers,

      Quote

      Comment by plexus — March 5, 2006 @ 12:15 am

    2. its really painful to wait for the entire compilation to complete before being able to use it. some applications take really long time to get compiled. the advantage is that, this way the package is best optimized for a given architecture, whereas binaries are always available for a generic architecture – like for 386 or 686.
      for really large applications, gentoo development team is now considering providing binaries too. some binaries are already available – like for openoffice.org – which can be installed using -bin option in the emerge command. give it a try and wait for more binaries to be created.

      Quote

      Comment by tabrez — March 5, 2006 @ 6:15 am

    3. To unmask the monodevelop in Gentoo, you can use:
      ACCEPT_KEYWORDS=”~x86″ emerge -pv monodevelop
      This will show you what you’re about to install.
      Once you’re happy with it, do:
      ACCEPT_KEYWORDS=”~x86″ emerge monodevelop
      to kick start the ‘emerge’ process!

      Quote

      Comment by ah aaee — March 13, 2006 @ 7:48 pm

    4. if you are in a hurry to get started with monodevelop, then `ACCEPT_KEYWORDS=”~x86 emerge monodevelop` is the fastest way. it applies to the masked dependencies also.

      but the next time you try to upgrade your system, your monodevelop can even be *downgraded*, so be sure about what you are doing. the `/etc/portage/package.keywords` way would make the settings persistent – they will be there even when you upgrade in the future.

      Quote

      Comment by tabrez — March 16, 2006 @ 8:03 pm

    5. [...] Installing the complete Mono environment, including the runtime, the compiler and the development environment(MonoDevelop), is no more difficult in Ubuntu 6.06 than it was in Ubuntu 5.10.(The procedure for installing Mono for Kubuntu 6.06 is also similar, but GTK and related packages are needed to install the MonoDevelop IDE, which will be a big download if GNOME is not already installed.) After adding Multiverse and the Universe repositories to the Ubuntu source list, run the following commands in a shell(or use Synaptic/Adept Package Managers): sh# sudo apt-get install mono mono-gmcs mono-gac mono-utils monodevelop [...]

      Quote

      Pingback by Every Flavour Beans » Installing C#, Mono(.NET) & MonoDevelop in Ubuntu Dapper Drake 6.06 — June 8, 2006 @ 8:53 pm

    6. hi! seems like a common problem on the gentoo forums but even searching through the old posts at the gentoo forum i haven’t been able to find a solution to this problem:

      Code:

      eth0 does not exist

      now i’m using the integrated Marvell Yukon Gigabit nic integrated into my asus k8vsedx and there are 2 options when compiling the kernel under networking support -> ethernet (1000mb). one is deprecated and one is experimental. i’ve tried marking both with a “*” and neither of them have worked…

      i’m using the instructions for recompiling and installing the kernel found here. i’m manually confguring so section 7.c is what im using .

      any advice?

      edit: i’ve also downloaded a bz2 file from syskonnect.com for the nic but i don’t know exactly where to extract it. i know i’d have to modularize it in menuconfig and probably add it to the /etc/modules.autoload.d/kernel-2.6.12-gentoo-r4 file right?

      Quote

      Comment by mp3 player — September 13, 2006 @ 2:18 pm

    7. Henry78 on April 23, 2007 at 2:01 am said:

      ah aaee on March 13, 2006 at 7:48 pm said:

      To unmask the monodevelop in Gentoo, you can use:
      ACCEPT_KEYWORDS=”~x86″ emerge -pv monodevelop
      This will show you what you’re about to install.
      Once you’re happy with it, do:
      ACCEPT_KEYWORDS=”~x86″ emerge monodevelop
      to kick start the ‘emerge’ process!

      Providing ACCEPT_KEYWORDS is NOT RECOMMENDED, you may only use it, to see which packages you have to add to package.keywords

      Quote

      Comment by Henry78 — April 23, 2007 @ 2:01 am

    8. Hello sir
      Its me veera. i am beginner to this .net feild. i have to run my .net project in linux using mono. please give me the step by step process for that. i am early waiting for your valuable reply.

      thank you

      Quote

      Comment by veera — February 8, 2008 @ 4:49 pm

    9. Some feedbak… when installing MonoDevelop on Gentoo, I needed to add this in the keywords file:

      >=dev-dotnet/gnomevfs-sharp-2.24.0 ~amd64
      >=dev-dotnet/gnome-sharp-2.24.0 ~amd64
      >=dev-dotnet/gtk-sharp-2.12.6 ~amd64
      >=dev-dotnet/xsp-2 ~amd64
      >=dev-dotnet/gconf-sharp-2.24.0 ~amd64
      >=virtual/monodoc-1.9 ~amd64
      >=dev-dotnet/glade-sharp-2.12.6 ~amd64
      ~dev-dotnet/mono-addins-0.3.1 ~amd64
      =dev-dotnet/gtk-sharp-gapi-2.12.7* ~amd64
      ~dev-dotnet/atk-sharp-2.12.7 ~amd64
      ~dev-dotnet/gdk-sharp-2.12.7 ~amd64
      ~dev-dotnet/pango-sharp-2.12.7 ~amd64
      =dev-dotnet/glib-sharp-2.12.7* ~amd64
      ~dev-dotnet/art-sharp-2.24.0 ~amd64
      >=gnome-base/gconf-2.24 ~amd64
      >=gnome-base/libgnomeui-2.24 ~amd64
      >=gnome-base/gnome-panel-2.24 ~amd64
      >=dev-libs/libgweather-2.24.1 ~amd64
      >=dev-util/intltool-0.40 ~amd64
      >=x11-libs/gtk+-2.13.1 ~amd64
      >=dev-libs/glib-2.17.6 ~amd64
      >=gnome-base/gnome-vfs-2.24 ~amd64
      >=gnome-base/gail-1.22.3 ~amd64
      >=dev-lang/mono-1.9 ~amd64
      =dev-dotnet/gluezilla-2.2 * ~amd64
      =dev-dotnet/libgdiplus-2.2* ~amd64
      >=x11-libs/cairo-1.8.4[X] ~amd64
      >=x11-libs/pixman-0.12.0 ~amd64

      Also note that I had to reinstall a newer version of gail due to blocking problems with MonoDevelop (well, actually, it blocked the gtk+ package).

      Thank you so much for the tutorial.

      Quote

      Comment by Cristian — January 23, 2009 @ 9:14 pm

    10. I am installing it as I speak. To get it to emerge, I needed the following keywords (on an amd64 system of course). To find get them working, I started with Cristian’s list and ran “emerge -pv monodevelop” repeatedly, editing keywords file untill I stopped giving my masked errors.
      Oh, and I had to upgrade gail like Cristian did.

      >=dev-dotnet/gnomevfs-sharp-2.24.0 ~amd64
      >=dev-dotnet/gnome-sharp-2.24.0 ~amd64
      >=dev-dotnet/gtk-sharp-2.12.6 ~amd64
      >=dev-dotnet/xsp-2 ~amd64
      >=dev-dotnet/gconf-sharp-2.24.0 ~amd64
      >=virtual/monodoc-1.9 ~amd64
      >=dev-dotnet/glade-sharp-2.12.6 ~amd64
      ~dev-dotnet/mono-addins-0.3.1 ~amd64
      =dev-dotnet/gtk-sharp-gapi-2.12.8 ~amd64
      ~dev-dotnet/atk-sharp-2.12.8 ~amd64
      ~dev-dotnet/gdk-sharp-2.12.8 ~amd64
      ~dev-dotnet/pango-sharp-2.12.8 ~amd64
      =dev-dotnet/glib-sharp-2.12.8 ~amd64
      ~dev-dotnet/art-sharp-2.24.0 ~amd64
      >=gnome-base/gconf-2.24 ~amd64
      >=gnome-base/libgnomeui-2.24 ~amd64
      >=gnome-base/gnome-panel-2.24 ~amd64
      >=dev-libs/libgweather-2.24.1 ~amd64
      >=dev-util/intltool-0.40 ~amd64
      >=x11-libs/gtk+-2.13.1 ~amd64
      >=dev-libs/glib-2.17.6 ~amd64
      >=gnome-base/gnome-vfs-2.24 ~amd64
      >=gnome-base/gail-1.22.3 ~amd64
      >=dev-lang/mono-1.9 ~amd64
      =dev-dotnet/gluezilla-2.2 * ~amd64
      =dev-dotnet/libgdiplus-2.2* ~amd64
      >=x11-libs/cairo-1.8.4[X] ~amd64
      >=x11-libs/pixman-0.12.0 ~amd64
      >=dev-dotnet/gtkhtml-sharp-2.4.0 ~amd64
      >=dev-dotnet/glade-sharp-2.4.0 ~amd64
      >=dev-dotnet/gconf-sharp-2.4.0 ~amd64
      >=dev-dotnet/art-sharp-2.4.0 ~amd64
      >=dev-dotnet/gnome-sharp-2.4.0 ~amd64
      >=dev-dotnet/vte-sharp-2.4.0 ~amd64
      >=dev-dotnet/gnomevfs-sharp-2.4.0 ~amd64
      dev-dotnet/gtksourceview-sharp ~amd64
      dev-dotnet/gecko-sharp ~amd64
      dev-dotnet/libgdiplus ~amd64
      dev-util/monodevelop ~amd64
      dev-lang/mono ~amd64

      Quote

      Comment by Mike — March 3, 2009 @ 10:32 am

    RSS feed for comments on this post. TrackBack URI

    Leave a comment


    Copyright (c) 2006, 2007 Tabrez Iqbal.
    Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved. A copy of the license is included in the section entitled "GNU Free Documentation License".


    Powered by WordPress
    This website is hosted by Dreamhost