Building Dependencies GNUCash
Bo Buckley
topherbuckley at gmail.com
Sat Feb 15 04:45:14 EST 2025
TLDR:
Is there an up to date list of strictly versioned distro+dependencies that
is known to work for building/running the stable branch? I am happy to use
any distro as I'm trying to build a docker container to build/test.
Details:
It seems the build instructions are a bit of a mess currently.
To start in the README in github:
> Developing GnuCash
> ------------------
> Before you start developing GnuCash, you should do the following:
> 1. Read https://wiki.gnucash.org/wiki/Development
> 2. Look over the doxygen-generated documentation at
> https://code.gnucash.org/docs/MASTER/ or
> https://code.gnucash.org/docs/MAINT/
doxygen doc links are both broken. Following
https://wiki.gnucash.org/wiki/Development:
A general description of the tools used to configure and build GnuCash is
> given in Build tools <https://wiki.gnucash.org/wiki/Build_Tools>.
This lists Make, Ninja, CMake, and Autotools, but what min/max versions?
A listing of dependencies is available at Dependencies
> <https://wiki.gnucash.org/wiki/Dependencies>.
This only lists up to version 4.11
Detailed instructions for building GnuCash on Linux distributions can be
> found on Building On Linux.
Installing the Build Tools
> <https://wiki.gnucash.org/wiki/Install_Build_Tools>;
>
There we find:
build-essential
make
cmake
build-essential
autoconf
automake
libtool
m4
But again with no dist/version restrictions mentioned. There is a lot of
wordage in the docs cautioning about all the differences between
distros/packages, but no central source for which distro/version +
dependencies/versions is known to work.
Installing Dependencies
> <https://wiki.gnucash.org/wiki/Installing_Dependencies>.
Up to date information on the dependencies may be obtained from:
-
the Dependencies <https://wiki.gnucash.org/wiki/Dependencies> wiki page;
This again points to the info up to version 4.11
GitHub GnuCash master branch README.dependencies
> <https://github.com/Gnucash/gnucash/blob/master/README.dependencies>; or
>
This points to a file committed 8 years ago, though it does have explicit
version tags for dependencies! :D
sudo apt install libtool libltdl-dev
> sudo apt install icu-devtools libicu-dev
> sudo apt install libglib2.0-0 libglib2.0-dev #glib2 > v2.40.0
> 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 libsecret-1-dev
> # 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 libgtk-3-dev libgtk-3-bin # gtk+3.0 >= 3.22.30
> sudo apt install libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev # >
> webkit2gtk-3.0
Many of these are out of date on Ubuntu 22.04:
> Package 'guile-2.0' has no installation candidate
> Unable to locate package guile-2.0-dev
> Couldn't find any package by glob 'guile-2.0-dev'
> Couldn't find any package by regex 'guile-2.0-dev'
> Package 'swig2.0' has no installation candidate
> Version '1.8.0' for 'google-mock' was not found
Building and Installing the GnuCash Program
>
The easy way to install most of GnuCash's dependencies is to use your
> package manager's build dependencies feature as root:
apt-get build-dep gnucash # Debian based
>
Returns:
> Reading package lists... Done
E: Unable to find a source package for gnucash
What about this arch based Dockerfile?
https://github.com/Gnucash/gnucash/blob/5ce3a9dd1d88c4717a7718c6d556b1235ac7536c/util/ci/actions/archlinux-test/Dockerfile
Is this enough to build and run or is this just enough for the ci tests?
Is no one maintaining a Docker Image/file for repeatable builds? How are
releases/flatpak builds maintained?
I'll keep trial/error installing everything to an Ubuntu 22.04 docker base
image to see how far I can get in the meantime.
Thanks in advance!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20250215/70fb6738/attachment.htm>
More information about the gnucash-devel
mailing list