Living on the Edge

2005-05-22 11:42:48 GMT

I've installed most of the recent pieces of the Mono / GTK universe. I've been wanting to set them up for a really long time so I feel terrific now that I've made it. Just take a look at this screenshot.

mono-gnome

You gotta love a desktop like this!

Well, it was not so easy as you may think. Most new applications has some braindead idiosyncrasies. Interestingly enough, there is a common source of problems. Whenever there is a build problem it is almost always magically related to autotools.

Autotools: a set of tools designed to build applications in a crossplatform way created by some perverts out there who were so wicked to use m4, the macro preprocessor as its foundation that have the most disgusting syntax one can ever imagine! Many have realized the crapiness of these tools, but no really usable alternatives have been born yet.

Building the Gems: First Steps, General Advices

In the following paragraphs, I'll cover the installation of Beagle and Tomboy. I also wanted to build F-Spot, Muine and Monodevelop, but I couldn't make them work right now. The most recent version of Mono (1.1.7) is more standards compliant. While it's basically a good thing, unfortunately it seems that a lot of Mono applications contain nonstandard C# code that compiled well with the earlier versions of Mono that weren't so strict, but now that new version has been improved in this aspect, these application bugs were triggered and some developers need to rewrite their applications to comply to the standards. This means that one has to wait to make work some applications with Mono 1.1.7 until they get rewritten.

The first thing you need to do is to set up the most recent version of automake and aclocal. In many cases a distribution has multiple versions installed of them. These tools are accessible from /usr/bin. In Debian, they link to /etc/alternatives which in turn links to a version of the binary in /usr/bin that is currently in use. Install their most recent versions and set up your system to use them.

Another thing that you should make a mental note for: When installing GTK# (any version), if you encounter with the following error:

Unhandled Exception: System.DllNotFoundException: gnomesharpglue

you should run ldconfig (as root), and everything's gonna be fine.

Beagle

First, check out BeagleWiki. It's the most useful resource you can find on the topic. I only want to mention the things that aren't obvious.

In order to install Beagle, you'll need an inotify-enabled kernel. If you think long-term, you'll chose the latest inotify patch, because the inotify API/ABI were in constant flux during the last months so using the latest patch hopefully avoids us in the near future of compiling a new kernel when it changes again.

Pull Beagle from the CVS, because of the reason above. I've only installed vw1 and pdfinfo of its optional prerequisites. I couldn't make work the others.

Everything should be straightforward from now on unless you're a poor bastard who checks out the CVS when it's in a broken state.

Tomboy

First, edit /usr/local/lib/bonobo/servers/bonobo-activation-config.xml to include the path /usr/local/lib/bonobo/servers. The file should look like this:

< ?xml version="1.0"?>


    
    
    
    /usr/local/lib/bonobo/servers
    

Then pull the source from the CVS and you're ready to go!

Conclusion

Beagle if a fascinating piece of software, no questions. I think of Beagle much more as a system component than a regular application. The functionality it brings is very essential, powerful, and will be massively used by many applications in the future. Beagle seems to be unstable in some cases, but it's generally usable.

Tomboy, on the other hand is quite a mature piece of software.

Learning English

I've found a really usable English learning site. Since my grammar is far from perfect, I'll probably check it out several times. It's a great resource.

Silva

I've just heard about yet another Zope based CMS. It's called Silva and it's probably worth a try. It's rare to see new Zope based CMSes emerging, because Zope is rather an alien platform among web developers. Most of them do PHP, especially in the FOSS world, others from the commercial world might prefer ASP, but Zope is a strange kind of beast. However I think it's an incredibly powerful platform to build upon. Silva is available on Objectis since several weeks back so anybody can easily give it a try.