HOWTO: building evolution on Ubuntu 8.10 (to fix IMAP slowness...)

Published: 2009-01-19
[Updated on 2009/01/29: evolution 2.24.3-0ubuntu1 - available in today's package updates - fixes the IMAP issue. I guess people yelled hard enough!]

I finally got around to upgrading my Ubuntu laptop this week-end.

The 8.04-->8.10 upgrade process went like a breeze. However, if you use the evolution e-mail client with an IMAP account storing large folders, chances are you will face the same issues as I did, namely evolution being completely unresponsive and unbelievably slow...

This issue has been around for a while (see bug #558883 on the Gnome Bugzilla). I'm not quite sure it's really fixed and given the Gnome release schedule, the next evolution release would probably be quite far away...

I kind of like evolution and I don't want to switch to another client, so I digged around and found an easy way to rebuild the latest evolution source from the SVN repository, thanks to this fantastic post by Paul Smith (Mr "make", as in GNU make).

First of all, let's install a few dependencies:
ubuntu% sudo apt-get install bison flex libenchant-dev libnss3-dev ccache \
evolution-dev gnome-common gtk-doc-tools libsoup2.4-dev
As of now (mid-January 2009), evolution also requires libical 0.43 or higher. If you need to build it from source, here's how:
ubuntu% svn co https://freeassociation.svn.sourceforge.net/svnroot/freeassociation/trunk freeassociation
ubuntu% cd freeassociation/libical
ubuntu% cmake .
ubuntu% sudo make install
Now, let's build evolution. First, let's fetch the Makefile:

ubuntu% wget http://mad-scientist.us/Makefile

Then, change the Makefile to remove support for libgweather. I neither need it nor want it, so I didn't waste any time trying to install it. You can either modify the file or apply the patch below:
ubuntu% diff -u Makefile.old Makefile
--- Makefile.old 2008-05-29 14:20:42.000000000 +0200
+++ Makefile 2009-01-19 13:36:01.000000000 +0100
@@ -183,7 +183,8 @@
evolution-data-server_PREREQS := glib libsoup libbonobo gtkhtml
evolution-data-server_CONFIG_OPTS = \
--with-openldap=yes --enable-gnome-keyring=yes --with-e2k-debug \
- --with-gconf-source='xml:merged:$(PREFIX)/etc/gconf/gconf.xml.defaults'
+ --with-gconf-source='xml:merged:$(PREFIX)/etc/gconf/gconf.xml.defaults'\
+ --without-weather

# I decided to disable scrollkeeper since otherwise Evolution will try
# to register it, and this requires root privileges.
@@ -194,7 +195,8 @@
--enable-nss=yes --enable-smime=yes --enable-plugins=all \
--enable-cairo-calendar=yes --enable-imap4=yes --with-e2k-debug \
--disable-scrollkeeper $(CONFIG_exchange-$(ENABLE_exchange)) \
- --with-gconf-source='xml:merged:$(PREFIX)/etc/gconf/gconf.xml.defaults'
+ --with-gconf-source='xml:merged:$(PREFIX)/etc/gconf/gconf.xml.defaults'\
+ --without-weather

evolution-exchange_PREREQS := glib libsoup libbonobo evolution-data-server evolution
evolution-exchange_CONFIG_OPTS = \
Now you can run 'make'... and wait a while :)

Once this is complete, the new evolution has been built and installed. Before you can run it, you need to:
I would also recommend backing up your evolution directory:

ubuntu% cd ~
ubuntu% mv .evolution .evolution-backup

You can now start /opt/evo/bin/evolution-svn and read your e-mail at last...

About the Author

Julien Simon is the Chief Evangelist at Arcee AI , specializing in Small Language Models and enterprise AI solutions. Recognized as the #1 AI Evangelist globally by AI Magazine in 2021, he brings over 30 years of technology leadership experience to his role.

With 650+ speaking engagements worldwide and 350+ technical blog posts, Julien is a leading voice in practical AI implementation, cost-effective AI solutions, and the democratization of artificial intelligence. His expertise spans open-source AI, Small Language Models, enterprise AI strategy, and edge computing optimization.

Previously serving as Principal Evangelist at Amazon Web Services and Chief Evangelist at Hugging Face, Julien has helped thousands of organizations implement AI solutions that deliver real business value. He is the author of "Learn Amazon SageMaker," the first book ever published on AWS's flagship machine learning service.

Julien's mission is to make AI accessible, understandable, and controllable for enterprises through transparent, open-weights models that organizations can deploy, customize, and trust.