Difference between revisions of "Dependencies"
(→Libraries/Deps: libart is only indirect required according http://lists.gnucash.org/logs/2017/01/26.html#T08:11:42) |
m (→Libraries/Deps - 2 minor typos) |
||
(28 intermediate revisions by 5 users not shown) | |||
Line 17: | Line 17: | ||
still has. | still has. | ||
− | This document serves to keep track of the major distributions, the date of | + | <!--This document serves to keep track of the major distributions, the date of |
their major release[s], and the relevant library versions as part of that | their major release[s], and the relevant library versions as part of that | ||
− | release (or an official package-upgrade path) | + | release (or an official package-upgrade path)--> |
=== Libraries/Deps === | === Libraries/Deps === | ||
+ | The GnuCash dependencies are shown in the following table. The GnuCash version shown is either where a new dependency is introduced or a previous dependency ceases to be relevant. An ongoing requirement is indicated by "->". A blank generally indicates that the requirement no longer exists (but may also indicate that the ongoing requirement is not known). "R" or a version number of the library indicates that the specified version of the library is required. | ||
+ | {| class = "wikitable | ||
+ | |+ style="font-size:large" | Table of GnuCash Dependency Changes With Version from 2.4.0 | ||
+ | ! style="background-color:#999999;" | !! style="background-color:#999999;font-size:large;border=0" colspan="9" | GnuCash Version | ||
+ | |- | ||
+ | ! style="background-color:#999999;;text-align:left;font-size:large;" | Required Library !! style="background-color:#999999;font-size:large;" | 2.4.0 !! style="background-color:#999999;font-size:large;" | 2.4.1 !! style="background-color:#999999;font-size:large;" | 2.5.8 !! style="background-color:#999999;font-size:large;" | 2.6.2 !! style="background-color:#999999;font-size:large;" | 3.0 !! style="background-color:#999999;font-size:large;" | 3.1 !! style="background-color:#999999;font-size:large;" | 3.5 !! style="background-color:#999999;font-size:large;" | 3.9-4.0 !! style="background-color:#999999;font-size:large;"| 4.1-4.11 | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gconf2 || R || -> || -> || -> || -> || -> || -> || -> || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | glib2 || ≥ 2.6.0|| ≥ 2.6.4 || ≥ 2.28.0 || -> || ≥ 2.40.0 || -> || ≥ 2.40.0 <br />(2.46.0 preferred) || ≥ 2.56.1 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gtk2 || ≥ 2.6.0 || ≥ 2.6.0 || ≥ 2.24.0 || -> || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gtk3 || || || || || ≥ 3.14.0 || ≥ 3.14.0 || ≥ 3.14.0 || ≥ 3.22.30 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | guile || 1.6.4 || 1.6.4 || 1.8.5 or<br /> 2.0.0 || 1.8.5 or<br /> 2.0.0 || 1.8.5 or<br /> 2.0.0 || 2.2.0 or<br /> 2.0.0 || 2.2.0 or<br /> 2.0.0 || 2.2.0 or<br /> 2.0.9 || 3.0,<br /> 2.2.0 or<br /> 2.0.9 | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgnomecanvas || || || 2.0 || 2.0 || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libart2 || ≥ 2.3.11 || ≥ 2.3.11 || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libglade2 || ≥ 2.3.6 || ≥ 2.3.6 || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgnomeprint2.2 || ≥ 2.8.2 || ≥ 2.8.2 || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgnomeui2 || ≥ 2.0.0 || ≥ 2.0.0 || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgoffice || ≥ 0.4.0 || ≥ 0.4.0 || ≥ 0.7.0 || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgsf1 || ≥ 1.12.2 || ≥ 1.12.2 || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libxml2 || ≥ 2.4.12 || -> || ≥ 2.5.10 || -> || -> || -> || -> || ≥ 2.9.4 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gettext || || || || || || || ≥ 0.19.6 <ref>≥ 0.20 since 3.9</ref><ref>Can be overridden by "cmake ... -DALLOW_OLD_GETTEXT=ON"</ref> || ≥ 0.20 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libxslt || || || || || R || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | ICU || || || || || R || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" |boost || || || || || ≥ 1.50.0 || -> || ≥ 1.53.0 || ≥ 1.67.0 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | pango || ≥ 1.8.1 || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | swig <ref>swig is only required if source is obtained from git, not required for tarballs.</ref> || ≥ 1.6.7 || -> || ≥ 2.0.10 || -> || -> || -> || -> || ≥ 3.0.12 || ≥ 3.0.12 | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libgtkhtml3 || one of || one of || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | webkit || one of || one of || 1.0 || 1.0 || -> || -> || -> || 2.4.1 <br />(2.4.11 Windows) || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | webkit2gtk3.0 / webkitgtk-3.0(Windows) || || || || || Required || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | googletest/gtest/gmock || || || || || || 1.7.0 || ≥ 1.7.0 || ≥ 1.8.0 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | zlib || || || || || || || || ≥ 2.1.1 || -> | ||
+ | |- | ||
+ | ! style="background-color:#999999;;text-align:left;font-size:large;" | Libraries for Options !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;;text-align:left;" | Online Banking and Import|| style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | aqbanking || R || -> || 4.0.0 - 5.7.8 || -> || -> || -> || 5.3.5 || 5.7.8/6.1.0<ref name="PSD2">The european [{{URL:wp}}Payment_Services_Directive Revised Payment Services Directive (PSD2, Directive (EU) 2015/2366)] requires | ||
+ | :aqbanking ≥ 6.0.0, | ||
+ | :gwenhywfar ≥ 5.1.2 and | ||
+ | :GnuCash ≥ 3.8</ref>. || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gwenhywfar || R || -> || -> || -> || -> || -> || -> || ≥ 4.20.0/5.1.2<ref name="PSD2" /> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" |ktoblzcheck || R || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;;text-align:left;" | Database Support || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libdbi +one of || R + || -> || 0.8.3 + || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libdbd-mysql <ref name="FedoraSQL">On Fedora these libraries are named libdbi-dbd-mysql, libdbi-dbd-postgresql, libdbi-dbd-sqlite</ref>|| -> || ->|| ->|| -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libdbd-pgsql <ref name="FedoraSQL" />|| -> || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" |libdbd-sqlite3 <ref name="FedoraSQL" />|| -> || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;;text-align:left;" | OFX File Import || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libofx || R || -> || 0.9.0 || ->|| -> || -> || -> || 0.9.12 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;;text-align:left;" | Python Bindings || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | || style="background-color:#bbbbbb;" | | ||
+ | |- | ||
+ | !style="background-color:#bbbbbb;" | python || || R || 2.4.0 || -> || -> || -> || ≥ 3.2.0 || ≥ 3.6.0 || -> | ||
+ | |- | ||
+ | ! style="background-color:#999999;text-align:left;font-size:large" | Runtime libraries !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | isocodes || Suggested || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | gsettings<ref>Global preferences storage. Note that the osx and windows backends are built-in in gio for their respective platforms. On linux and similar systems, the dconf package should be installed.</ref> Linux: dconf/Windows: registry/MacOSX: plists || || || || R || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#999999;;text-align:left;font-size:large" | Other Libraries !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | !! style="background-color:#999999;" | | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | cairo || ≥ 0.5.0 || -> || -> || -> || -> || -> || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | libsecret || || || || || || || || 0.18 || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" |gtk-mac-integration (MacOS only)|| || || || || || || || || | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | makeinfo || || || || || || R || -> || -> || -> | ||
+ | |- | ||
+ | ! style="background-color:#bbbbbb;" | doxygen <ref>To check or generate the '''API documentation''' AKA ''develdoc''.</ref>|| || || || || || || R || -> || -> | ||
+ | |} | ||
+ | ==== Notes ==== | ||
+ | <references /> | ||
− | + | === Package Version Search by Distribution === | |
+ | ;.deb based: | ||
+ | :[https://www.debian.org/distrib/packages debian] | ||
+ | :[https://packages.ubuntu.com/ ubuntu] | ||
+ | ;.rpm based: | ||
+ | :[https://rpms.remirepo.net/rpmphp/ Fedora / RHEL / CentOS / EPEL] | ||
+ | :[https://software.opensuse.org/package/ opensuse] | ||
− | + | === What if my distro doesn't have a required dependency? === | |
− | + | It happens. Sometimes we need functionality that some distros decline to provide. All of our dependencies are free software and so the sources are readily available for you to download and use. If you're not on the latest version of your distro you may not have the needed versions for every dependency. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | For example, OpenSuSE is believed at the time of writing to not provide GoogleTest. That happens to be the simplest of all because GnuCash only needs the sources, which can be cloned from [[https://github.com/google/googletest Github]]. Just put it somewhere convenient and add | ||
+ | -DGTEST_ROOT=/path/to/googletest/googletest | ||
+ | -DGMOCK_ROOT=/path/to/googletest/googlemock | ||
+ | to your CMake arguments when building GnuCash. | ||
− | + | In other cases you may have a dependency but not at the required version. First look at the available repositories for your distro's package manager. For Debian based distros there's [[http://www.getdeb.net/welcome/ GetDeb]], for RPM based ones try [[https://rpmfind.net/linux/RPM/ RPMFind]]. | |
− | + | Failing that you may have to download and build the dependency from source. If it's a system dependency as well, for example glib or gtk+, you'll want to install it into a prefix not on the built-in search paths and then add the prefix to PKG_CONFIG_PATH and the library path to LD_LIBRARY_PATH so that CMake and GnuCash can find the updated versions. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | '''Return to:''' | ||
+ | |||
+ | [[Installing_Dependencies |Installing Dependencies]] | ||
+ | |||
+ | [[Building_On_Linux | Building On Linux]] | ||
+ | |||
+ | [[Building |Building GnuCash]] | ||
+ | |||
+ | <!-- | ||
=== Available Versions by Dependency and Distribution === | === Available Versions by Dependency and Distribution === | ||
Line 61: | Line 164: | ||
! Legend | ! Legend | ||
|- | |- | ||
− | | style="background-color:#F06C47;" | Release no longer supported (as of | + | | style="background-color:#F06C47;" | Release no longer supported (as of 2.5.0, 2011) |
|- | |- | ||
| style="background-color:#A0E75A;" | Release still supported | | style="background-color:#A0E75A;" | Release still supported | ||
Line 71: | Line 174: | ||
{| border="1" style="margin:1em 1em 1em 0;border:1px solid;border-collapse:collapse;background:#F9F9F9;text-align:center;" | {| border="1" style="margin:1em 1em 1em 0;border:1px solid;border-collapse:collapse;background:#F9F9F9;text-align:center;" | ||
|- width=30 style="background:#D2D2D2;" | |- width=30 style="background:#D2D2D2;" | ||
− | ! Distribution !! aqbanking !! cairo | + | ! Distribution !! aqbanking !! cairo !! glib2 !! gtk+3 !! guile !! WebKit !! libofx !! libxml2 !! pango !! swig |
|- style="background-color:#F06C47;" | |- style="background-color:#F06C47;" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | | + | | width=50 | Fedora 14 2010–10–26 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
+ | || width=50 | SUSE 11.3 2010-07-15 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx | ||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | SUSE 11.2 2009-11-12 || | + | | width=50 | SUSE 11.2 2009-11-12 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | Mandriva 2010.0 2009-11-03 || | + | | width=50 | Mandriva 2010.0 2009-11-03 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#87CEEB;" | |- style="background-color:#87CEEB;" | ||
− | | width=50 | Debian 6.0 squeeze 2010-05-28 || | + | | width=50 | Debian 6.0 squeeze 2010-05-28 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | Ubuntu 10.04 2010-04-29 || | + | | width=50 | Ubuntu 10.04 2010-04-29 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | | + | | width=50 | Ubuntu 9.10 2009-10-29 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | |||
− | |||
− | |||
− | |||
|- style="background-color:#A0E75A;" | |- style="background-color:#A0E75A;" | ||
− | | width=50 | | + | | width=50 | Gentoo 2010-05-29 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx |
− | + | | width=50 | Slackware 13.1 2010-05-29 || xx || xx || xx || xx || xx || xx || xx || xx || xx || xx | |
− | | width=50 | Slackware | ||
|- | |- | ||
− | + | | width=50 | FreeBSD 2010-05-29 || | |
− | |||
− | | width=50 | FreeBSD 2010-05-29 || | ||
|- | |- | ||
− | + | ! Distribution !! aqbanking !! cairo !! glib2 !! gtk+3 !! guile !! WebKit !! libofx !! libxml2 !! pango !! swig | |
− | |||
− | ! Distribution !! aqbanking !! cairo | ||
|} | |} | ||
+ | |||
+ | |||
==== References ==== | ==== References ==== | ||
Line 168: | Line 214: | ||
openSUSE packages: http://packages.opensuse-community.org/ | openSUSE packages: http://packages.opensuse-community.org/ | ||
+ | --> |
Latest revision as of 07:48, 18 July 2022
Contents
General
This page is intended to capture various library build and runtime dependency information. The goal is to provide a more dynamic source than maint/README.dependencies/master/README.dependencies for tracking this replace data.
See Building for details on building Gnucash.
GnuCash Library Dependency Policy
GnuCash desires to only depend on library versions and packages that are practically available. Specifically, we choose to depend only on versions that have been in the major distributions for 6 months. This is motivated in part by the 1.6 release, which required a large set of relatively-recent dependencies. Specifically, as most user's (distributions) did not have the required versions packaged, it was exceedingly painful for end users to upgrade to the anticipated release, leading to a reputation that gnucash still has.
Libraries/Deps
The GnuCash dependencies are shown in the following table. The GnuCash version shown is either where a new dependency is introduced or a previous dependency ceases to be relevant. An ongoing requirement is indicated by "->". A blank generally indicates that the requirement no longer exists (but may also indicate that the ongoing requirement is not known). "R" or a version number of the library indicates that the specified version of the library is required.
GnuCash Version | |||||||||
---|---|---|---|---|---|---|---|---|---|
Required Library | 2.4.0 | 2.4.1 | 2.5.8 | 2.6.2 | 3.0 | 3.1 | 3.5 | 3.9-4.0 | 4.1-4.11 |
gconf2 | R | -> | -> | -> | -> | -> | -> | -> | |
glib2 | ≥ 2.6.0 | ≥ 2.6.4 | ≥ 2.28.0 | -> | ≥ 2.40.0 | -> | ≥ 2.40.0 (2.46.0 preferred) |
≥ 2.56.1 | -> |
gtk2 | ≥ 2.6.0 | ≥ 2.6.0 | ≥ 2.24.0 | -> | |||||
gtk3 | ≥ 3.14.0 | ≥ 3.14.0 | ≥ 3.14.0 | ≥ 3.22.30 | -> | ||||
guile | 1.6.4 | 1.6.4 | 1.8.5 or 2.0.0 |
1.8.5 or 2.0.0 |
1.8.5 or 2.0.0 |
2.2.0 or 2.0.0 |
2.2.0 or 2.0.0 |
2.2.0 or 2.0.9 |
3.0, 2.2.0 or 2.0.9 |
libgnomecanvas | 2.0 | 2.0 | |||||||
libart2 | ≥ 2.3.11 | ≥ 2.3.11 | |||||||
libglade2 | ≥ 2.3.6 | ≥ 2.3.6 | |||||||
libgnomeprint2.2 | ≥ 2.8.2 | ≥ 2.8.2 | |||||||
libgnomeui2 | ≥ 2.0.0 | ≥ 2.0.0 | |||||||
libgoffice | ≥ 0.4.0 | ≥ 0.4.0 | ≥ 0.7.0 | -> | -> | -> | -> | -> | -> |
libgsf1 | ≥ 1.12.2 | ≥ 1.12.2 | |||||||
libxml2 | ≥ 2.4.12 | -> | ≥ 2.5.10 | -> | -> | -> | -> | ≥ 2.9.4 | -> |
gettext | ≥ 0.19.6 [1][2] | ≥ 0.20 | -> | ||||||
libxslt | R | -> | -> | -> | -> | ||||
ICU | R | -> | -> | -> | -> | ||||
boost | ≥ 1.50.0 | -> | ≥ 1.53.0 | ≥ 1.67.0 | -> | ||||
pango | ≥ 1.8.1 | -> | -> | -> | -> | -> | -> | -> | -> |
swig [3] | ≥ 1.6.7 | -> | ≥ 2.0.10 | -> | -> | -> | -> | ≥ 3.0.12 | ≥ 3.0.12 |
libgtkhtml3 | one of | one of | |||||||
webkit | one of | one of | 1.0 | 1.0 | -> | -> | -> | 2.4.1 (2.4.11 Windows) |
-> |
webkit2gtk3.0 / webkitgtk-3.0(Windows) | Required | -> | -> | -> | -> | ||||
googletest/gtest/gmock | 1.7.0 | ≥ 1.7.0 | ≥ 1.8.0 | -> | |||||
zlib | ≥ 2.1.1 | -> | |||||||
Libraries for Options | |||||||||
Online Banking and Import | |||||||||
aqbanking | R | -> | 4.0.0 - 5.7.8 | -> | -> | -> | 5.3.5 | 5.7.8/6.1.0[4]. | -> |
gwenhywfar | R | -> | -> | -> | -> | -> | -> | ≥ 4.20.0/5.1.2[4] | -> |
ktoblzcheck | R | -> | -> | -> | -> | -> | -> | -> | -> |
Database Support | |||||||||
libdbi +one of | R + | -> | 0.8.3 + | -> | -> | -> | -> | -> | -> |
libdbd-mysql [5] | -> | -> | -> | -> | -> | -> | -> | -> | -> |
libdbd-pgsql [5] | -> | -> | -> | -> | -> | -> | -> | -> | -> |
libdbd-sqlite3 [5] | -> | -> | -> | -> | -> | -> | -> | -> | -> |
OFX File Import | |||||||||
libofx | R | -> | 0.9.0 | -> | -> | -> | -> | 0.9.12 | -> |
Python Bindings | |||||||||
python | R | 2.4.0 | -> | -> | -> | ≥ 3.2.0 | ≥ 3.6.0 | -> | |
Runtime libraries | |||||||||
isocodes | Suggested | -> | -> | -> | -> | -> | -> | -> | -> |
gsettings[6] Linux: dconf/Windows: registry/MacOSX: plists | R | -> | -> | -> | -> | -> | |||
Other Libraries | |||||||||
cairo | ≥ 0.5.0 | -> | -> | -> | -> | -> | -> | -> | -> |
libsecret | 0.18 | -> | |||||||
gtk-mac-integration (MacOS only) | |||||||||
makeinfo | R | -> | -> | -> | |||||
doxygen [7] | R | -> | -> |
Notes
- ↑ ≥ 0.20 since 3.9
- ↑ Can be overridden by "cmake ... -DALLOW_OLD_GETTEXT=ON"
- ↑ swig is only required if source is obtained from git, not required for tarballs.
- ↑ 4.0 4.1 The european Revised Payment Services Directive (PSD2, Directive (EU) 2015/2366) requires
- aqbanking ≥ 6.0.0,
- gwenhywfar ≥ 5.1.2 and
- GnuCash ≥ 3.8
- ↑ 5.0 5.1 5.2 On Fedora these libraries are named libdbi-dbd-mysql, libdbi-dbd-postgresql, libdbi-dbd-sqlite
- ↑ Global preferences storage. Note that the osx and windows backends are built-in in gio for their respective platforms. On linux and similar systems, the dconf package should be installed.
- ↑ To check or generate the API documentation AKA develdoc.
Package Version Search by Distribution
- .deb based
- debian
- ubuntu
- .rpm based
- Fedora / RHEL / CentOS / EPEL
- opensuse
What if my distro doesn't have a required dependency?
It happens. Sometimes we need functionality that some distros decline to provide. All of our dependencies are free software and so the sources are readily available for you to download and use. If you're not on the latest version of your distro you may not have the needed versions for every dependency.
For example, OpenSuSE is believed at the time of writing to not provide GoogleTest. That happens to be the simplest of all because GnuCash only needs the sources, which can be cloned from [Github]. Just put it somewhere convenient and add
-DGTEST_ROOT=/path/to/googletest/googletest -DGMOCK_ROOT=/path/to/googletest/googlemock
to your CMake arguments when building GnuCash.
In other cases you may have a dependency but not at the required version. First look at the available repositories for your distro's package manager. For Debian based distros there's [GetDeb], for RPM based ones try [RPMFind]. Failing that you may have to download and build the dependency from source. If it's a system dependency as well, for example glib or gtk+, you'll want to install it into a prefix not on the built-in search paths and then add the prefix to PKG_CONFIG_PATH and the library path to LD_LIBRARY_PATH so that CMake and GnuCash can find the updated versions.
Return to: