C# & MonoDevelop (.NET) on Gentoo and Ubuntu
.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.
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:
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.
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,
QuoteComment by plexus — March 5, 2006 @ 12:15 am
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.
Quotefor 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.
Comment by tabrez — March 5, 2006 @ 6:15 am
To unmask the monodevelop in Gentoo, you can use:
QuoteACCEPT_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!
Comment by ah aaee — March 13, 2006 @ 7:48 pm
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.
QuoteComment by tabrez — March 16, 2006 @ 8:03 pm
[...] 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 [...]
QuotePingback by Every Flavour Beans » Installing C#, Mono(.NET) & MonoDevelop in Ubuntu Dapper Drake 6.06 — June 8, 2006 @ 8:53 pm
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?
QuoteComment by mp3 player — September 13, 2006 @ 2:18 pm
Henry78 on April 23, 2007 at 2:01 am said:
Providing ACCEPT_KEYWORDS is NOT RECOMMENDED, you may only use it, to see which packages you have to add to package.keywords
QuoteComment by Henry78 — April 23, 2007 @ 2:01 am
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
QuoteComment by veera — February 8, 2008 @ 4:49 pm
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.
QuoteComment by Cristian — January 23, 2009 @ 9:14 pm
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
Quote>=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
Comment by Mike — March 3, 2009 @ 10:32 am