Wednesday, July 04, 2012

Getting Stomped by Little Gnome Feet

Well, I gave it the old college try and tried to create an up-to-date Mono development environment on top of my aging Fedora 14 installation. I should have know better, considering how many times in the past I've beaten myself bloody with some specific feature of Linux.

It all started innocently enough. I cloned a copy of Mono from their git repository and built it without any issues. I wrote a number of increasingly complex C# applications to test the compiler and runtime. No problems were encountered. But I noticed I couldn't compile or run any GUI applications. Complimenting that was a lack of MonoDevelop 3, the Mono/C# development IDE. When I started to dig into how to build and run that particular tool, I ran into problems.

Fedora 14, released November 2010, is running Gnome 2.32. Fedora 14 is the last Fedora release to run Gnome 2. Fedora moved to Gnome 3 starting with version 15, and that's one important reason why I stayed with Fedora 14 and continue to stay with Fedora 14. The other important reason is that absolutely everything works on the Dell D630. Everything, from wireless networking to graphics to sleep mode when the notebook is closed back to full operation when it's opened again works and works flawlessly. I've thought about backing up all my work and moving to another version of Fedora, or even a different distribution, but the idea of changing out and hassling with what gets broken doesn't appeal to me. As well as hassling with Gnome 3 (although there's Cinnamon which I like.)

But staying with an aging distribution has its problems. With very few notable exceptions such as Google Chrome and Oracle Java, everything pretty much stays locked in place version-wise. That means if you want to run with the latest version of anything important you're pretty much left behind if you stay with a given release. When I wanted to step up to a full Mono 2.11 release with all the GUI bells and whistles, such as the latest MonoDevelop 3, it also requires that you step up to supporting libraries, such as Gtk# 2.0 and all of its dependencies with GObject, Mono Addins, etc, etc, etc. What finally stopped me from chasing down the rabbit hole was GObject's dependency on glib 2.29.7 or later. Gnome 2.32 supplies 2.26.0.

One other complaint I have from all of this is how stale a lot of the Mono site has become. A lot of the pages still point to tarballs that used to be hosted via Novell, and many of the pages that talk about getting source talk about Subversion. Mono migrated to git (and github) back in July 2010, as did most, if not all, of the supporting projects. After two years I would have thought the Mono site would have been brought up to date. I eventually found everything I was looking for on github and cloned all the projects I wanted to work with, but things might have gone a bit faster if all the site pages were current. And that's a shame, as pulling down the sources and then building the project are dead simple to do. Working with source projects, at least Mono, is the most approachable I think I've ever seen it, showing a lot of quality effort at the project level. That level of quality needs to flow back through the complete "official" Mono site.

In any event I think I've mapped a course of action to follow for the Dell. I'm buying a new 320GB 7200 RPM drive to go into the D630, and an external USB 2.0 case to hold the older 120GB drive. The plan is to install the new drive, install a new up-to-date distribution that supports the absolute latest Mono and supporting environment, plug the old drive back in via USB and then copy off all my projects and files I've collected under Fedora 14 over the last year-and-a-half. Worse case I'll just re-install Fedora 14 (I do need extra disk space and 7200 RPM would make things a bit snappier). I run this notebook with full disk encryption, so getting the latest kernel and encryption might also make things a bit snappier as well.

No comments:

Post a Comment

All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.