<?xml version="1.0" encoding="UTF-8"?>
<appendix id="installation">
<appendixinfo>
  <authorgroup>
    <author>&Jack.H.Ostroff; &Jack.H.Ostroff.mail;</author>
  </authorgroup>
  <date>2014-08-30</date>
  <releaseinfo>4.7.01</releaseinfo>
</appendixinfo>

<title>Installation</title>

<para>
  This appendix primarily addresses the installation of &kappname; under the
  &Linux; operating system.  The <link linkend="installation.nonlinux">final
  section</link> addresses other operating systems.
</para>

<sect1 id="installation.getting">
<title>How to obtain &kappname;</title>

<para>
  &kappname; has existed for a number of years, and we have worked very hard on
  full integration into &kde;.  The earliest stable versions (1.0.x) required
  libraries from &kde; 3, and so were not available in many Linux distributions,
  which had already migrated to &kde; 4.  However, with the release of version
  4.5 in August 2010, &kappname; could be easily compiled and installed on any
  version of &kde; 4.3 or higher.  The current version, 4.7, requires &kde; 4.6,
  specifically kdelibs and kdepimlibs.
</para>

<para>
  Although work has begun porting &kappname; to the new KDE Frameworks 5, this is
  still very early, and not yet usable.  Hopefully it will be available in the
  5.0 version, which we expect to release in early 2015.  Until then, if you are
  specifically interested in following this work, you should subscribe to the
  developers mailing list &devlist;.
</para>

<para>
  The rest of this section will describe installing &kappname; using the
  standard software installation process for your Linux distribution.  The
  following section will discuss compiling from source.
</para>

<sect2 id="installation.distribution">
<title>Official Distribution Packages</title>
<para>
  The best way to install &kappname; is to use the package manager of your
  distribution, such as apt-get, yum, portage, or pacman.  This will take care
  of all the dependencies and required libraries.  Although it takes some time
  after the release a new version of &kappname; for all the distributions to add
  it to their official repositories, please check there first.
</para>
</sect2>

<sect2 id="installation.unsupported">
<title>Unsupported Repositories</title>
<para>
  Many Linux distributions have users who provide unsupported repositories that
  offer more up-to-date packages than the distributions' official repositories.
  A list of these may be found at the <ulink
  url="http://www.kmymoney.org">&kappname; home page</ulink>.
</para>
</sect2>
</sect1>

<sect1 id="installation.fromsource">
<title>Compiling &kappname; from Source</title>

<para>
  More up-to-date information on the latest available version and any known
  installation issues will be available on the <ulink
  url="http://www.kmymoney.org">&kappname; home page</ulink>.  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.
</para>

<para>
  As the previous paragraph implied, there are two distinct reasons to compile
  &kappname; 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.
</para>

<para>
  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 was in SourceForge cvs, but it is no longer being
  developed or supported at all.)  Instructions for access are on the project
  home page.
</para>

<warning>
 <para>
   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.
 </para>
</warning>

<sect2><title>Required libraries</title>
<para>
  &kappname; 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 <quote>-devel</quote> versions in order to compile &kappname;, rather
  than just running a pre-compiled version.  As of version 4.6.0, &kappname;
  also depends on libalkimia, version 4.3.1 or higher.  Additional
  requirements may be detected during the <quote>cmake</quote> step below.
</para>

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

<itemizedlist>
<listitem>
  <para>libofx, version 0.9.4 or higher, to be able to import financial data
  in the OFX format, and</para>
</listitem>

<listitem>
  <para>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.</para>
</listitem>
</itemizedlist>
</sect2>

<sect2><title>Build instructions</title>
<para>
  &kappname; 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:
</para>

<simplelist>
<member><command>$ mkdir build</command></member>
<member><command>$ cd build</command></member>
<member><command>$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/</command></member>
<member><command>$ make</command></member>
<member><command>$ sudo make install/fast</command></member>
</simplelist>

<important><para>
  Note that the last step is required.  &kappname; 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.
</para></important>

<para>
  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:
</para>

<simplelist>
<member><command>$ cd &lt;path to root of source&gt;</command></member>
<member><command>$ git pull --rebase</command></member>
<member><command>$ cd build</command></member>
<member><command>$ make</command></member>
<member><command>$ sudo make install/fast</command></member>
</simplelist>

<para>
  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 do the
  following:
</para>

<simplelist>
<member><command>$ cd &lt;path to root of source&gt;</command></member>
<member><command>$ git pull --rebase</command></member>
<member><command>$ rm -r build</command></member>
<member><command>$ mkdir build</command></member>
<member><command>$ cd build</command></member>
<member><command>$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/</command></member>
<member><command>$ make</command></member>
<member><command>$ sudo make install/fast</command></member>
</simplelist>
</sect2>
</sect1>

<sect1 id="installation.nonlinux">
<title>Installing &kappname; without Linux</title>

<para>
  &kappname; has been successfully compiled for &MacOS; X, and is available at
  the <ulink url="http://www.macports.com">MacPorts web site</ulink>.
</para>
<para>
  &kappname; is also available for &Windows;.  This initiative is still a work
  in progress, but great improvements have been made in the past year.  For more
  information about running &kde;, including &kappname; on &Windows; see the
  <ulink url="http://windows.kde.org">KDE on Windows Initiative</ulink> page.
  For a standalone installer that only installs &kappname; see the download link
  on the right of the <ulink url="http://www.kmymoney.org">&kappname; home
  page</ulink>.  Note that the most recent version of this installer no longer
  works on &Windows; XP.  At the time of this release, it was not known if this
  could be changed, as the issue was related to the tools used to build the
  application, not the application itself.
</para>

<para>
  If you know of &kappname; being successfully compiled and made available for
  any other operating system, please let us know, so we can spread the word.
</para>

</sect1>
</appendix>
