Installing Dependencies

From GnuCash
Jump to: navigation, search

Installing Main GnuCash Dependencies

GnuCash depends on a variety of libraries to provide specialised functionality in addition to the GnuCash specific libraries produced by the build process. To build Gnucash you will primarily need to load the development headers for these libraries. To run GnuCash you will need to have the libraries themselves installed. The instructions below install both.

Up to date information on the dependencies may be obtained from:

The instructions here use the apt package manager common on Debian/Ubuntu derivatives. In most cases these instructions can be simply translated to other Linux distributions. Package management tools used on some Linux distributions along with their install and remove commands and repository search commands are listed on the Package Managers wiki page. In addition to the formal dependencies listed on the Dependencies page, other packages may be listed here because they have been found to be missing in some distributions by users. In some cases they are packages that are commonly installed whenever other software has been loaded. Some distributions may also vary slightly in the packages that are distributed with them.

You can check whether the required libraries and/or headers are already installed by listing the installed packages. Run:

dpkg -l | grep <package-name>

in a shell on Debian/Ubuntu based systems or

rpm -qa | grep <package-name>

on systems using rpm as the basic package manager (RHEL, Fedora, FreeBSD etc.), where <package-name> is the name of a package or an identifying substring of the package name. Reinstalling an already installed package generally will result in a message to that effect.

Package names given here are generally those on Debian/Ubuntu based distributions. These may vary on other distributions. Your distribution will normally have some facility for searching its repository of available packages and listing available packages. These are listed for some Linux distributions on the Package Managers wiki page. You may also find relevant information in the Distribution Specific Issues page.

In Ubuntu and derivates install from the repositories by running the following commands in a shell:

sudo apt install libtool libltdl-dev
sudo apt install libglib2.0 libglib2.0-dev   #glib2 > v2.40.0
sudo apt install icu-devtools libicu-dev
sudo apt install libboost-all-dev            # boost > 1.50.0  - requires locale and regex built with ICU support
sudo apt install guile-2.0 guile-2.0-dev     # guile >=2.0.0
sudo apt install swig2.0                     # swig  >2.0.10  - swig3.0 on some systems
                                             # not required if building from tarball,
                                             # but required if building from a git clone
sudo apt install libxml2 libxml++2.6-dev libxml2-utils
sudo apt install libxslt1.1 libxslt1-dev
sudo apt install xsltproc
sudo apt install texinfo                     # required for makeinfo
sudo apt install libsecret-1-0

# Only use the next 2 lines if you have not installed [[Google_Test | Google Test]] already.
sudo apt install libgtest-dev                # >=1.7.0
sudo apt install google-mock                 # 1.8.0 installs googlemock in a subdirectory of gtest

sudo apt install gtk+3.0
sudo apt install libgtk-3-dev
sudo apt install libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev  # > webkit2gtk-3.0
.

Note: on some distributions swig3.0 may be available in the distribution repository rather than swig2.0. It may be used rather than swig2.0 by substituting swig3.0 in the command.

Some of the optional dependency packages are also available as sources from | SourceForge- Gnucash Dependencies. See the README and/or INSTALL files in each package for installation instructions for the packages.

Option Dependencies

The following are the dependencies of optional additions to GnuCash and should be incorporated if you need those specific options. These options are generally included by default in a standard build with no build switches specified. The exception is the Python binding extensions. You should generally include these libraries unless you specifically do not want the option included. You will have to use the appropriate option switches on the cmake command to change the default build options. See( build options).

Database Backend

GnuCash uses an xml file as its default storage. A database backend is available as an option if required. For users with minimal database administration experience, the sqlite3 option is likely to be easier to setup and administer. The database support is included by default but can be disabled if not required with a cmake option switch.

sudo apt-get install libdbi1 libdbi-dev         # > v0.8.3
and at least one of the following database backends:
sudo apt-get install libdbd-pgsql                # PostgreSQL database
sudo apt-get install libdbd-mysql                # MySQL database
sudo apt-get install libdbd-sqlite3              # Sqlite database

depending upon which databases you want to use.

OFX File importing

OFX file import support is normally built by default. These libraries should be included unless you do not want this option. Use the cmake option switch to disable it during the build if you do not require it.

sudo apt-get install libofx-dev   # This will automatically install the corresponding libofx<n> package as well.

AqBanking

In several countries you can use AqBanking for Online Banking. Aqbanking support is by default built in GnuCash. These libraries should be included unless you do not require this option. Use the appropriate cmake option switch to disable it if not required.

sudo apt-get install aqbanking-tools libaqbanking-dev   # > v4.0.0
sudo apt-get install gwenhywfar-tools libgwenhywfar60 libgwenhywfar60-dev

Python Support

Python Bindings to run your own scripts are by default not enabled in GnuCash. If required you should install these libraries and use the appropriate cmake option switch during the build.

sudo apt-get install python3-pytest

Return to:

Building_On_Linux

Building GnuCash