Ubuntu/Deepin的软件仓库里,Gnucash的版本还是3.8,不支持远程数据库,查看文档得知想安装4.x版本得自己编译,在此做个记录。

官方文档:https://wiki.gnucash.org/wiki/Install_Build_Tools

仓库:https://github.com/Gnucash/gnucash

目录说明:

  1. 源码目录 ~/project/gncash

  2. 安装目录 /opt/gnucash

一、clone 代码到 ~/project/gnucash

cd ~/project && git clone git@github.com:Gnucash/gnucash.git

checkout 4.8

截至发文时的最新版本号是4.8,要安装其它版本,检出其它tag即可。

二、编译

1. 安装编译所需要的库

sudo apt-get install build-essential make cmake ninja-build autoconf automake libtool m4

如果是ubuntu 20.04 LTS,还需要执行

apt-get install libboost-program-options1.71-dev

2. 在/opt下新建gnucash文件夹

sudo cd /opt && mkdir gnucash && cd /opt/gnucash

3. 执行cmake命令

使用Cmake 和 Make构建

sudo cmake -DCMADE_INSTALLPREFIX=/opt/gnucash ~/project/gnucash

或者使用Cmake 和 Ninja构建

sudo cmake -GNinja -DCMADE_INSTALLPREFIX=/opt/gnucash ~/project/gnucash

这里可能会出现各种报错导致无法继续,包括但不限于以下几条,一般都是少了什么包没有安装,按照错误提示安装就行

No package ‘libxslt’ found

No package ‘webkit2gtk-4.0’ found

No package ‘gwenhywfar’ found

Neither guile 3.0, guile 2.2, nor guile 2.0 were found GnuCash can’t run
without one of them. Ensure that one is installed and can be found with
pkg-config.

如果实在嫌麻烦 deepin/ubuntu可直接安装 perl & build-essential,其它发行版没测试过不知道

sudo apt-get install perl build-essential

输入命令后一路回车,等安装完毕后继续执行上一步的构建命令

如果还有报错,根据报错信息选择以下包安装

sudo apt-get install libxslt1-dev libwebkit2gtk-4.0-dev gettext swig guile-2.2-dev libgwengui-gtk3-dev libaqbanking-dev libofx-dev xsltproc libgtest-dev google-mock libmock-dev libsecret-1-dev libdbi1 libdbi-dev libboost-all-dev libdbd-mysql valgrind

构建成功后执行:

sudo make && sudo make install

或者

sudo ninja && sudo ninja install

三、运行

安装完成后,即可运行gnucash

/opt/gnucash/bin/gnucash

可用alias命令创建别名:

alias gnucash="/opt/gnucash/bin/gnucash"

或者添加环境变量:

sudo vim /home/<user>/.profile

加入以下任意一行

PATH = $PATH : $HOME /opt/gnucash/bin # 您的主目录将在系统目录之后搜索

或者

PATH = $HOME /opt/gnucash/bin: $PATH # 这将在系统目录之前搜索您的主目录

如果出现以下错误,尝试清空安装目录重新编译安装:

/opt/gnucash/bin/gnucash: error while loading shared libraries: libgnc-app-utils.so: cannot open shared object file: No such file or directory

四、创建桌面快捷方式

在桌面新建 GnuCash-4.8.desktop 并用文本编辑器写入以下内容

五、注意事项

每次重新编译前 最好先清空安装目录,因为我编译通过后运行总是提示缺少库,最后清空安装目录重新编译一遍才通过。

参考资料:

https://wiki.gnucash.org/wiki/Building_On_Linux