Note: This guide will be updated whenever necessary. Check the modification dates at the bottom of the page!

About Development Versions

We often say "it is in SVN now" or "the SVN version of KMess contains this feature now" etc. SVN is short for subversion. It's the software we use to store the in-development version of KMess, and it contains the changes made to KMess - in such a fashion that we can browse through them at any time. Before the release of version 1.5-pre2, we had used CVS for this.

Each new feature or bugfix will be stored into SVN by developers. The code in subversion will eventually become the new KMess release. Note that the SVN version is often the equivalent of an "alpha" or "beta" release, it may even be unable to build at all! But we try to keep it useable :)

You can access our SVN versions with a special client: search "subversion" with your package manager to install it.

As a first step, you will have to download the version you want off Subversion to your computer. After that, you will be able to compile the KMess program. The compilation process converts the source code (which is, text files filled up with instructions telling the computer how KMess is made) to a runnable executable program.

Note: On most Linux systems you need to install additional developer packages before you can compile the source code.


In this tutorial, we'll guide you through the compilation of our 2.0.x version. This version has been separted from the main line of KMess development so that we can offer bug fixes and improvements to the 2.0 series. If you are looking to try building the 2.1 series, you will need to checkout and compile SVN trunk - be warned, trunk (as of writing - 10 Nov 09) is highly, highly unstable.

If you're unsure, just stick to these instructions below and you'll compile and install the latest stable release of KMess.

If you were looking for the instructions on how to compile KMess 1.5.2, you can check out this forum topic. Before you do that though, remember that KMess 1.5.2 is the last version we've released for the 1.5 series and KDE 3, we will not develop nor mantain it anymore.


First: thank you for wanting to help! We do appreciate your efforts a lot!

At the moment, our main focus is on the KDE4 branch of development, which will ultimately lead to KMess2. To help us improve this version, you can already download and build it: this is a quick guide on how to do it.

Second: I want to remember you about some things that you need to keep in mind when compiling and running the KMess2 SVN:

  • The code you download may possibly be not even able to compile, although we do what's possible to avoid to avoid this.
  • There could be some problems when using old Qt 4 libraries, like Qt 4.3 . We use Qt 4.5 and the final KMess 2.0.x version will be built for Qt 4.5 .
  • In case of a crash, all debug output and the backtrace will be output to "standard error": this means that if you've run KMess from an icon in the KDE Menu, you'll probably find it in your home, within the ".xsession-errors" file: ~/.xsession-errors is the full name.
  • This is "beta" quality code. This means that the program will work as intended but there's still the possibility that it might crash, hang up, lock up your machine, kill your kitten, or melt your ice cream. We take no responsibility: you have been warned!
  • Your KMess2 configuration settings could break between code updates. Your KMess 1.5 settings are not affected at all, though, so it's safe to tinker with kmess2 while keeping kmess1.5 open.

Enough disclaimers! Let's start :D

1. Download the current source code for the 2.0.x branch

We're using Subversion as usual:

$ svn checkout https://kmess.svn.sourceforge.net/svnroot/kmess/branches/kmess/kmess-2.0.x/
$ cd kmess-2.0.x

This will download the most up-to-date code in the folder you've ran the command from. If I am in /home/amroth/, and run svn checkout, it'll make a /home/amroth/kmess-2.0.x/ folder with all the code in.

2. Configuring with CMake

That's where a big change comes in: we switched our build environment from Autotools to CMake. This makes configuration simpler, and the build speed is improved (and the build process is prettier to look at, too). First you need to make sure you have your distribution's development packages:

  • Tools: cmake, gettext, a C++ compiler. On Debian and its derivatives (Ubuntu, Kubuntu et cetera), the compiler will be installed with the package build-essential.
  • KDE4 libraries: libkde4-devel. On debian/ubuntu-like distros "kde-dev", or if that doesn't work, try "kdelibs5-dev", not a typo.
  • Login libraries: QCA2 with the SSL plugin (LibQCA2, debian/ubuntu-like name: libqca2-dev). For distros which package the ssl plugin separately, like Debian or Ubuntu, the name is usually libqca2-plugin-ossl).
  • Others: libxml2-devel (LibXML 2, ubuntu-like name: libxml2-dev), libxslt-devel (LibXSLT, debian-like name: libxslt-dev)
  • Optionally: for auto-away xorg-x11-libs (XScreenSaver XOrg extension, debian-like name: libxss-devel)

Note: On Fedora 10 - but maybe even other versions, the kdelibs development package may not have a correct list of its dependencies, so the KMess build process may fail: to work around this issue, run: yum install giflib-devel pcre-devel

To configure KMess2-SVN, you can use our provided "configure" script. It is a script, which follows the usual argument syntax of Auto Tools' configure script, to wrap around CMake's different configuration variables. Normally you will be able to just execute it:

$ ./configure

This will configure the compilation for a KMess developer build: execute it with the "--help" argument to check out which possibilities it gives - or just use CMake if you're more experienced! ;) Note that our configure script will try to automatically find out where KDE 4 is installed, so you probably will need no more settings than a configure run without any argument.

For a build suitable for debugging, use:

$ ./configure --enable-debug-output --build-type=debugfull

If this step fails, the configuration system will tell you what's missing. Sometimes however, after you have installed the necessary packages, CMake will still complain that they are missing! If that happens, delete the entire "build" directory within the KMess source directory, and run the configure script again!

In case of other problems, please ask at our forum!

3. Building KMess2-SVN

This currently takes about 1 minute on my core2 duo cpu with 2GB of memory. And I'm assuming that the code will compile, but remember that it's not a guarantee :P

$ make -j3

If you have a single core cpu, use -j2.

When it's done, you can go on to..

4. Running KMess2.0.x-SVN

You can install KMess 2 when the build is complete with:

$ sudo make install

followed by your password, or if you're asked to, the root user password. If in your terminal you're already logged in as root, you can just run "make install"!

5. The end

If everything went smooth, you'll have a kmess logo in front of you just a microsecond after you press 'enter'... welcome to the new KMess! If, however, something went wrong, don't hesitate and post, post, post here in the Support forum! Oh, by the way.. please, insert [KMess2.0.x-SVN] somewhere in your topic title, so that we know that it's not some 1.5 issue! ;)

Happy testing!