Compiling KMyMoney from Source

More up-to-date information on the latest available version and any known installation issues will be available on the KMyMoney home page. That page will also have links to tarballs of recent versions as well as instructions for obtaining the source from KDE Git, in case you want to compile the latest, development version.

As the previous paragraph implied, there are two distinct reasons to compile KMyMoney from source. If you cannot find a version specifically packaged for your distribution, please download the tarball of the most recent stable release. This is version 4.6.0 as of the time this is being written. This is the compile option recommended for normal users.

On the other hand, if you want to see the current state of development, to check out a recent bug fix or new feature, you can download a tarball which is a snapshot of the development repository. You can also check the source directly out of the repository. The version 4.x source is in KDE Git. (The version 1.0.x source is in SourceForge cvs, but it is no longer being developed.) Instructions for access are on the project home page.

Warning

The code in the Git repository and in development snapshots is under active development: it may have bugs, it may crash, and it may mess up or lose data. If you use it, be absolutely sure to make adequate backups. Unless you have a good reason to use this, stick to a stable released version.

Required libraries

KMyMoney depends on certain libraries in order to compile and run properly. First is KDE version 4.3.5 or later, specifically kdelibs and kdepimlibs. Depending on your distribution, you may need to explicitly load the -devel versions in order to compile KMyMoney, rather than just running a pre-compiled version. As of version 4.6.0, KMyMoney also depends on libalkimia, version 4.3.1 or higher. Additional requirements may be detected during the cmake step below.

Additional functionality can be obtained if extra libraries are available at compile time. The two most common are

  • libofx, version 0.9.4 or higher, to be able to import financial data in the OFX format, and

  • AqBanking, version 5.0.0 or higher, to be able to use certain on-line banking features. Note that version 5.0.14 or higher is strongly recommended, due to bugs in earlier versions.

Build instructions

KMyMoney uses the cmake build system. Further information can be found in the README.cmake file in the root folder of the source. The basic steps are the following:

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/
$ make
$ sudo make install/fast

Important

Note that the last step is required. KMyMoney expects to find certain components in standard locations, and if you run it from within the build directory without the install step, you will have missing icons or other surprises.

If you have compiled the source from git, and want to update to the latest revision, most of the time you can do the following:

$ cd <path to root of source>
$ git pull --rebase
$ cd build
$ make
$ sudo make install/fast

However, changes made by the developers sometimes cause compile problems if you do not start with a clean code base. In these cases, you need to the following:

$ cd <path to root of source>
$ git pull --rebase
$ rm -r build
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/
$ make
$ sudo make install/fast