Package Details: gnucash 2.6.19-1

Git Clone URL: https://aur.archlinux.org/gnucash.git (read-only)
Package Base: gnucash
Description: A personal and small-business financial-accounting application
Upstream URL: http://www.gnucash.org
Licenses: GPL
Submitter: City-busz
Maintainer: Schmeidenbacher
Last Packager: Schmeidenbacher
Votes: 92
Popularity: 15.847270
First Submitted: 2017-06-30 07:39
Last Updated: 2017-12-20 09:41

Pinned Comments

Schmeidenbacher commented on 2017-10-10 16:48

All right. This is how i do it. Some things up front. This is a complete version. Meaning it will describe the whole process from point zero.

Please read the whole thing first!

You will most certainly have to adjust it to your setup!

Additionally any packages you have already build and know they are working, you skip the build process of and just include them where needed.

You should have the following installed: base-devel, git and devtools.

$ sudo pacman -S base-devel git devtools --needed

Take note that aur-helpers will do nothing for you. Sometimes other installed packages on your system interfere with a build, in that case you'll have to do a clean build. Any specifics to the process can be found here (https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot) if there are any questions.

Additionally, i have a tmpfs RAM-Disk mounted in /tmp, which i usually use to build.

The filesystem you build on will need to be mounted with the suid and the exec flag on, or it won't work. So in my case, since i usually don't have /tmp mounted that way i have to do this:

$ sudo mount -o remount,exec,suid /tmp

Then i prepare the chroot as follows:

$ mkdir /tmp/source/chroot -p

$ cd /tmp/source

$ sudo mkarchroot chroot/root base-devel

With the chroot in place it's time to get the needed package sources. (Again, skip what's already build and working).

$ git clone "https://aur.archlinux.org/goffice0.8.git"

$ git clone "https://aur.archlinux.org/webkitgtk.git"

$ git clone "https://aur.archlinux.org/gnucash.git"

First off: goffice0.8

$ cd goffice0.8/

$ makechrootpkg -T -r ../chroot/

For a quick explanation: The -T flag tells it to create a temporary copy of the original chroot, allowing for the same basic installation to be reused. and the -r flag points it to the the base dir in which the actual chroot we earlier created resides.

This usually builds pretty fast. I keep the build packages around, so that i don't have to rebuild them in the same place the system keeps em:

$ sudo cp *.pkg.tar.xz /var/cache/pacman/pkg/.

Now it's time for the big one. webkitgtk2 takes hours to build. For me it's something between 5 to 6 hours. It's sadly needed until the next stable branch of gnucash is released which won't need this anymore. Basically it's the exact same as with goffice0.8. Again: if you have a working version, you won't need to build this. But since the cairo update, you probably will.

$ cd ../webkitgtk/

$ makechrootpkg -T -r ../chroot/

$ sudo cp *.pkg.tar.xz /var/cache/pacman/pkg/.

Now we have every package to actually build gnucash.

$ cd ../gnucash/

Gnucash needs the aforementioned packages to get built, you use the -I flag with makechrootpkg to install it in the build copy of your chroot for that one build. Note, again, that you might need to adjust the paths to those packages.

$ makechrootpkg -T -r ../chroot/ -I ../goffice0.8/goffice0.8-0.8.17-4-x86_64.pkg.tar.xz -I ../webkitgtk/webkitgtk2-2.4.11-7-x86_64.pkg.tar.xz

$ sudo cp *.pkg.tar.xz /var/cache/pacman/pkg/.

Now that all packages are built, it's time to install them.

$ sudo pacman -U gnucash.pkg.tar.xz ../webkitgtk/webkitgtk2.pkg.tar.xz ../goffice0.8/goffice0.8*.pkg.tar.xz

And that's how i do it.

Note that this should only be neccessary if there are any changes that affect webkitgtk2 or if you have some obscure packages installed i don't know about. Otherwise gnucash should build normally even with an AUR helper.

Hope that helped.

Latest Comments

Wake commented on 2018-01-28 19:39

Sorry for the false alarm. My clue should have been the PKGBUILD depends line, which doesn't include enchant, but does include webkitgtk2.

Schmeidenbacher commented on 2018-01-27 08:04

To make my last statement more precise: Gnucash doesn't need to be rebuild. After the update to enchant-2.2.1-1 you need to rebuild/build webkitgtk2-2.4.11-11 or later. It's the used libraries from that package which in turn pull the enchant libraries.

Schmeidenbacher commented on 2018-01-27 07:58

@Wake: Gnucash is not out-of-date. You need to rebuild webkitgtk2 to the newest version, it's that package that causes the error.

Wake commented on 2018-01-26 18:39

enchant-2.2.1-1 update breaks gnc, but downgrading to enchant-2.1.2-3 seems to work ok. Some other pgms I run that have enchant as a dependency seem to run ok with the old version of enchant.

Schmeidenbacher commented on 2018-01-19 16:15

@masterkorp: A quick search on this page for "libgncmod-report-gnome", folding out all the comments, reveals that the last couple of times this happened it was webkitgtk2's "fault." A system update changed enough that your webkitgtk2 can't find what it needs where it expects it to be, resulting in the error. You'll either have to rebuild it yourself, which will take ages or try the repo mentioned in a comment a bit down.

masterkorp commented on 2018-01-19 10:12

Hello,

gnucash has been failing to compile for a while for me:

In unknown file:
   ?: 1 [load-extension "libgncmod-report-gnome" "scm_init_sw_report_gnome_module"]
In ice-9/boot-9.scm:
 109: 0 [#<procedure 1e058c0 at ice-9/boot-9.scm:100:6 (thrown-k . args)> misc-error ...]

ice-9/boot-9.scm:109:20: In procedure #<procedure 1e058c0 at ice-9/boot-9.scm:100:6 (thrown-k . args)>:
ice-9/boot-9.scm:109:20: In procedure dynamic-link: file: "libgncmod-report-gnome", message: "file not found"
make[5]: *** [Makefile:1157: report-gnome.go] Error 1
make[5]: Leaving directory '/tmp/yaytmp-1000/gnucash/src/gnucash-2.6.19/src/report/report-gnome'
make[4]: *** [Makefile:851: all-recursive] Error 1

Any ideas?

Schmeidenbacher commented on 2018-01-08 21:44

@h_asdf: Please read the whole release notification you just linked to me before you flag this package out of date.

To quote: "This release is UNSTABLE and SHOULD NOT BE USED in production.

This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See the Update Notes Page for details. "

This package follows the stable branch of gnucash, which currently is the 2.6.x version. The next stable version will currently be the 3.0 release according to the devs.

If you want to risk your bookkeeping data with an unstable release you are free to consider switching to the gnucash-git package instead.

PEAR commented on 2018-01-08 18:38

Ok, I'll try rebuildung the package. Thanks anyway

Schmeidenbacher commented on 2018-01-08 17:46

@PEAR: That is interesting. Since this version of gnucash does not use boost at all.

Neither is it using it during the build process, which i made sure of by building it again and checking the build log for any mention of boost, nor is it using it on startup, which i made sure of by running an strace of it while it started and me using it a bit. No call on any of the boost libraries whatsoever.

The unstable 2.7.x branch, or the gnucash-git packages do though.

Chances are, that your gnucash will start again if you rebuild the package and reinstall it. That usually get's the calls to the newer libraries in, if they are used.

Btw, my last build of gnucash was build on the 18th of December of 2017, and boost-libs updated on the 6th of January of 2018 to version 1.66.0-1 and my gnucash runs fine, so i can't reproduce that problem at all.

PEAR commented on 2018-01-08 14:34

Gnucash doesn't start in my system, because its searching for a boost-lib which got updated a couple of days ago.

gnucash: error while loading shared libraries: libboost_regex.so.1.65.1: cannot open shared object file: No such file or directory

boost-libs is installed, but "to new" for my gnucash instance.

I think at least libboost_filesystem.so is affected, too.

All comments