[kdepim-users] how to compile akonadi server quick guide (war: Re: rant)

Martin Steigerwald martin at lichtvoll.de
Thu Jan 29 13:57:13 GMT 2015

Am Donnerstag, 29. Januar 2015, 09:08:27 schrieben Sie:
> Hi Martin,

Hi Sinclair,

> > Did you test this with Akonadi git
> > c733429f4fa9696fb027ddc946e54f6bbb68deaf (branch 1.13)?
> > 
> > It contains gems like:
> > 
> > Avoid ridiculous amount of SQL queries by caching PartTypes
> > 
> > Implement cache for CollectionStatistics to significantly reduce
> > amount of SQL queries
> > 
> > Avoid repeated calls to PimItem::flags() and PimItem::tags()
> > 
> > Avoid recursive collection listing in SearchHelper
> where can I find the below mentioned git version, I might want to give
> it a shot.

git clone git://anongit.kde.org/akonadi

git checkout -b 1.13 origian/1.13

git log | head should show:

martin at merkaba:~/KDE/Dev/akonadi#1> git log | head
commit c733429f4fa9696fb027ddc946e54f6bbb68deaf
Author: Milian Wolff <mail at milianw.de>
Date:   Wed Dec 10 21:16:45 2014 +0100

    Preallocate a capacity of 16 for the returned list.
    See also 159abaf2f372eaa633db8f69ff6b1edd459998cc in kdepimlibs on
    why. I'll quote it here again:
        In my data, most often the final size of fetchResponse is 16.

mkdir build

cd build

cmake ..

ccmake .. (in case you want to adapt any settings)

make -j4 (adapt to number of CPU cores)

sudo make install (only last step as root)

I think for just Akonadi you do not need to set any environment variables, 
but I am not completely sure, I use the following to have KDE pickup 
things from /usr/local alternatively:

martin at merkaba:~> cat .kde/env/kdedirs.sh 
if [ -z $KDEDIRS ]; then
        export KDEDIRS="/usr/local/"
        export KDEDIRS="/usr/local/:$KDEDIRS"

if [ -z $QT_PLUGIN_PATH ]; then
        export QT_PLUGIN_PATH="/usr/local/lib/kde4"
        export QT_PLUGIN_PATH="/usr/local/lib/kde4:$QT_PLUGIN_PATH"

Maybe the QT_PLUGIN_PATH is needed. But you can try without first.

ps aux | grep akonadi tells you whether the /usr/local one is used.

Note: kdepim-runtime contains resources, they are still used from /usr 
unless you compile kdepim-runtime yourself as well. Its not needed to 
benefit from the database improvements and I just used a self-compiled 
Akonadi server with the rest Debian 4.14.2 kde packages.

You need some build deps. I think apt-get build-dep akonadi-server can 
help you install these for Debian.

It works here, no warranties. :)

Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
KDE PIM users mailing list
Subscription management: https://mail.kde.org/mailman/listinfo/kdepim-users

More information about the kdepim-users mailing list