Package Details: gnucash 2.6.18-5

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: 67
Popularity: 19.664209
First Submitted: 2017-06-30 07:39
Last Updated: 2017-12-03 12:40

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-6-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

tlvince commented on 2017-12-08 09:10

Here's a fork of webkitgtk2 with the enchant patch: https://aur.archlinux.org/packages/webkitgtk2-enchant/ (mirror: https://github.com/tlvince/webkitgtk2-enchant). Note, I removed the GTK3 version for now, but sure enough, Gnucash works again.

davebloggt commented on 2017-12-05 14:14

@radiomike Thanks, that helped. Maybe icu59 should be added to (make)depends?

radiomike commented on 2017-12-04 17:20

@davebloggt try installing icu59. Did that on my system after getting similar error, and gnucash built fine afterwards.

Schmeidenbacher commented on 2017-12-04 17:06

Another time for the old bad/good news game. Good news: If the webkitgtk2 PKGBUILD is changed as mentioned in the comments of that very package, it will not only build correctly but the dependency with the old enchant1.6 for this package will vanish as well. Bad news: So far the package has not been changed. I made a comment on the package requesting a change. Let's hope we either get that or gnucash 2.8 soon.

Thank's for your patience.

Schmeidenbacher commented on 2017-12-03 17:45

@daveblogged: That might be bad news/timing. The last time that ugly error reared it's head we had to rebuild webkitgtk2 due to an update in icu and harfbuzz-icu.

Even though that package takes forever to be rebuild, the bad news is, that, as of the enchant update, the webkitgtk2 package might only be buildable with a patch, that the maintainer hasn't implemented yet or by manually using an sed command.

I will start a build of webkitgtk2 with the method presented in the comments of that package and hope, that it results in us all being able to build gnucash again. If we're lucky that will even free us of the enchant1.6 dependency again.

Just be aware that a build will take me at good couple of hours so i might not be able to post an update here until tomorrow.

/edit: Typo

davebloggt commented on 2017-12-03 17:12

I'm getting errors when trying to compile after the latest update. I successfully built enchant1.6 in a clean chroot. Building gnucash fails with a lenghty error, pasted here: https://bin.eisfunke.com/?fdd8e03e400bcefa#rmehwFviph5gu99myLqQIVT9xt5nKFdLQGSYRJaYY9w=

The same error also occurs in a (clean besides dependencies) chroot.

Bonnietwin commented on 2017-12-03 13:50

@Schmeidenbacher, thanks for the update. Worked fine. Gnucash working again.

Schmeidenbacher commented on 2017-12-03 12:42

I put up a package named enchant1.6 which this package here will use as a dependency for now. Luckily for all of us, enchant builds in a very short time.

Schmeidenbacher commented on 2017-12-03 11:09

@d327roque : This time, for once it's a different package making problems. For a reminder we are dependent on webkitgtk2 not webkit2gtk, but that's not it this time. Our Problem lies with the enchant package. Since the upgrade to version 2 just hit and gnucash is dependent on version 1.6.x for now, i'll put up a new package for that. Give me a few moments.

d327roque commented on 2017-12-03 09:24

Pacman update webkit2gtk today. I'm getting this error and I can't start gnucash now.

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

I tried going back to the previous webkit2gtk version. No luck.

tlvince commented on 2017-12-01 13:36

Thanks for maintaining this. I was successfully able to get it up and running (after several hours building webkitgtk2) by using aurutils-git's chroot/nspawn feature; `aursync -c gnucash && sudo pacman -Syu gnucash` should do the trick!

raylinth commented on 2017-11-29 01:22

@orel thanks for pointing out installing icu 59. I've been using gnucash for a year and it only recently broke, but that fixed it right up.

orel commented on 2017-11-28 19:05

You need to install icu 59 as well:
https://aur.archlinux.org/packages/icu59/

starfry commented on 2017-11-28 09:11

Thanks for doing this, it was very much appreciated today!

I followed the gist posted in an earlier comment (https://gist.github.com/Strubbl/95248a843b896849b56dbb627752e447). I changed the build location away from /tmp to somewhere with enough space. I did a "pacman -Syu" before running the script and everything worked out fine. After a long build time.

My first attempt to run Gnucash had the same error about "libicui18n.so.59". Despite the script appearing to install "gnucash-2.6.18-4 goffice0.8-0.8.17-4 webkitgtk2-2.4.11-6" I had to do it again (i.e. "pacman -U ..."), after which I can run Gnucash once again.

So thanks for the comments here.

Schmeidenbacher commented on 2017-11-27 20:06

Short answer: Sadly no.

Longer answer: Until the 2.8 Stable branch of gnucash lands, this package is dependent on webkitgtk2. The gnucash devs are aware of the issue. An unstable version 2.7.x of the gnucash source is available, but it is *unstable*. Too many people are already dependend on a functioning version of this package as it is (including me, which is the reason i took it on, once it fell of the official repos), to use an unstable branch. That would add way more headaches than i'm willing to take. This package will always use the latest stable version.

I sincerely hope, that it returns to the official repos once the webkitgtk2 issues are resolved.

That said, if anyone want's to do an unstable gnucash package, go ahead i certainly won't stop them.

Gasp0de commented on 2017-11-27 16:50

Can the dependency to webkitgtk2 be replaced by webkit2gtk? It builds forever and it is also no longer maintained and considered unsafe. See here:
https://www.archlinux.org/todo/phasing-out-webkitgtk2/

Schmeidenbacher commented on 2017-11-26 20:19

Thanks for the info. If push comes to shove, i will put out an enchant1.6 AUR package.

magnade commented on 2017-11-26 19:56

fair warning to those using gnucash it will be breaking when enchant in testing is considered stable
https://bugs.archlinux.org/task/56469

Schmeidenbacher commented on 2017-11-26 19:10

@kabads: You're trying to install the source package. The actual build package ends on .pkg.tar.xz.

So, at the time of this message the package name should be goffice0.8-0.8.17-4-x86_64.pkg.tar.xz.

kabads commented on 2017-11-26 16:58

I'm using the @Schmeidenbacher method but am still getting an error when trying to install goffice. It compiles fine, but on install, I get:

$ sudo pacman -U goffice-0.8.17.tar.xz
loading packages...
error: missing package metadata in goffice-0.8.17.tar.xz
error: 'goffice-0.8.17.tar.xz': invalid or corrupted package

Schmeidenbacher commented on 2017-11-25 08:34

@jstenback: The out of date notification is not for the error you described. Please read the comments first before you willy-nilly flag a package.

In short: You're problem was already reported in the comments and solved. You'll have to rebuild webkitgtk2, this is not a problem with this package.

Your missing library got updated with the icu package which is used by the webkitgtk2 package which in turn is used by this one. After rebuilding webkitgtk2 gnucash should work again.

Schmeidenbacher commented on 2017-11-24 15:52

If you actually installed the packages with pacman -U <path to the package's .pkg.tar.xz> you can check your installation with

$ pacman -Qi gnucash

(Replace gnucash with any package name you want to get info about) This will tell you not only when it was installed but also when it was packaged. So that should give you some information about if your installation went right.

In the same vein:

$ pacman -Ql gnucash

Will list you the paths to all installed files.

kabads commented on 2017-11-24 15:43

Thanks @strubbl - the script seemed to work (after a couple of hours compiling). However, I have no idea where the package is installed (it's definitely not the /usr/bin/gnucash as that file dates back to Jun 2017. I can see files in /tmp/sources, but no executables. Any ideas?

strubbl commented on 2017-11-22 10:44

had to rebuild gnucash and all the stuff again because gnucash searching for an old version of libicu (59), but version 60 installed on my system. 3+ hours of compiling *sigh*

but here are the steps from Schmeidenbacher's pinned post for copy paste:
https://gist.github.com/Strubbl/95248a843b896849b56dbb627752e447
perhaps last line must be adopted for your localization

troncoso commented on 2017-11-21 17:27

@Schmeidenbacher: Thanks for you answer, but I don't think my mirrorlist or my package sync database is out of date, as I've got a newer version of python-setuptools: 1:37.0.0-1.

Thanks for your welcome, too. In fact, I'm a veteran user of Arch and even had an AUR account back in 2010 but it must have expired because I've just had to create a new one.

troncoso commented on 2017-11-21 17:14

It looks like I got around the missing file 'python-setuptools-1:36.8.0-1-any.pkg.tar.xz' by installing python-setuptools first into the chroot environment:

# arch-nspawn $CHROOT/root pacman -S python-setuptools

Schmeidenbacher commented on 2017-11-21 17:13

@troncoso:
Either your mirrorlist or your package sync database is out of date. And by never having seen this error before: Welcome to archlinux, you must be new here.


Do a

$ sudo pacman -Sy

before you try to setup the chroot. That will get your system the newest info about packages in the repos. You're welcome.

troncoso commented on 2017-11-21 16:41

@Schmeidenbacher

I followed your explanations and got this error when building webkitgtk2:

error: failed retrieving file 'python-setuptools-1:36.8.0-1-any.pkg.tar.xz' from arch.yourlabs.org : The requested URL returned error: 404

Current version of 'python-setuptools' is 1:37.0.0 and it looks like version 1:36.8.0-1 is no longer in the repositorios.

piedro commented on 2017-11-20 22:35

OK, thx for looking into this.

I am stuck at the moment, rebuilding webkitgtk accidently instead of webkitgtk2... what a waste of time but after running it for 5 hours now I might as well let it finish...

One question, you mentioned the lib32 libraries also... do you imply that with every system using multiarch packages I have to rebuild or downgrade both?

I thought gnucash is 64bit and uses these libs exclusively?

Btw, is there still a binary version compatible with the gnucash save file?

(Have to do taxes like yesterday...) It's actually the first time that regression in opensource cost me real money... I know this is not the place to discuss, sry for that.)

Keeping this package up to date here in the AUR has to be a nightmare!
Many thanks for your efforts and explanations, Schmeidenbacher!

p.



vinieich commented on 2017-11-20 21:28

Sorry. It seems that I missed the comment from below.
I thought it was that guile( ? ) update that made us rebuild webkitgtk2 recently.
I'll rebuild it again this night because I'm at an older computer with too little processing power and it will take time.
Tomorrow I'll edit this comment but probably it will be fixed.
Thanks.

EDIT: Annndd it's working. Rebuilding webkitgtk2 ~again~ solved the issue.
Thanks guys.

Schmeidenbacher commented on 2017-11-20 18:27

Just for clarification, did you two already rebuild webkitgtk2 ? That behaviour might stem from the fact that webkitgtk2 expects the icu v59 components in place, while after you downgraded something else expected the icu v60 components resulting in both error messages respectively.

What the downgraders may try, if you didn't already is not only to downgrade icu to version 59.1.1-1 (and if you use them the lib32 versions as well) , but also harfbuzz-icu (and harfbuzz, while we're at it, also if you use them additionally the lib32 versions) to version 1.6.1-1 respectively.

Check your /var/log/pacman.log for the recent version changes in the packages to make sure that i didn't accidentally gave the wrong ones.

But you probably have to rebuild webkitgtk2 to get a permanent fix.

Tharbad commented on 2017-11-20 18:27

The webkitgtk saga:
https://bugzilla.gnome.org/show_bug.cgi?id=751635

vinieich commented on 2017-11-20 17:24

@piedro
I'm trying to figure it out too but I can't seem to figure out.
Have you got any luck?

piedro commented on 2017-11-20 14:09

That's strange:

gnucash has been working in the latest version here... until this weekend...

trying to start I get

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

so I downgrade icu to version 59... but now:

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

How can gnucash depend on two versions?

Sigh, what am I missing.... any hints, have I misbuilt it?
But as mentioned, it worked last week...

sad, p.

Schmeidenbacher commented on 2017-11-19 12:09

I see that i am late to the party. But yes it's our old foe webkitgtk2 … again. Man i will be so glad if that dependency vanishes once the get to the new stable version.

As an aside: If you've gone through the trouble of rebuilding webkitgtk2, it seems like you don't need to rebuild gnucash. Gnucash worked on my machine without installing the rebuild package after i installed the rebuild webkitgtk2. So … yay, i guess?

colinkeenan commented on 2017-11-19 05:28

It worked for me too after rebuilding webkitgtk2.

djmoch commented on 2017-11-19 01:52

@colinkeenan The gnucash rebuild works after re-building webkitgtk. It's a bit unfortunate because that build takes closer to 12 hours on my 8-year-old machine, but it would have been worse to go throught that trouble and still have it be broken!

colinkeenan commented on 2017-11-18 17:10

Edit: I finally looked at the PKGBUILD for webkitgtk and it depends on harfbuzz-icu, so it's necessary to rebuild webkitgtk once again. I will update tomorrow if that worked.

I have been successfully building this in a chroot ever since gnucash was dropped from the standard packages. Today, I needed to build it again due to the update in icu. I was not able to build it. Here's the error:

.
.
.
mkdir -p gnucash/report
( cd gnucash/report; for A in report-gnome.scm ; do ln -s -f ../../$A . ; done )
touch .scm-links
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=../../.. \
GNC_MODULE_PATH="../../../src/app-utils/.libs:../../../src/engine/.libs:${GNC_MODULE_PATH}" GUILE_LOAD_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_PATH}" GUILE_LOAD_COMPILED_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_COMPILED_PATH}" LD_LIBRARY_PATH="../../../src/engine/.libs:../../../src/libqof/qof/.libs:../../../src/app-utils/.libs:../../../src/core-utils/.libs:../../../src/gnc-module/.libs:../../../src/gnome-utils/.libs:../../../src/backend/xml/.libs:../../../src/backend/sql/.libs:../../../src/html/.libs:../../../src/report/report-system/.libs:../../../src/report/report-gnome/.libs:${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="../../../src/engine/.libs:../../../src/libqof/qof/.libs:../../../src/app-utils/.libs:../../../src/core-utils/.libs:../../../src/gnc-module/.libs:../../../src/gnome-utils/.libs:../../../src/backend/xml/.libs:../../../src/backend/sql/.libs:../../../src/html/.libs:../../../src/report/report-system/.libs:../../../src/report/report-gnome/.libs:${DYLD_LIBRARY_PATH}" \
/usr/bin/guild2.0 compile -o report-gnome.go report-gnome.scm
Backtrace:
In /usr/bin/guild2.0:
72: 19 [main ("/usr/bin/guild2.0" "compile" "-o" ...)]
In srfi/srfi-1.scm:
616: 18 [for-each #<procedure 18f5680 at scripts/compile.scm:187:14 (file)> #]
In scripts/compile.scm:
190: 17 [#<procedure 18f5680 at scripts/compile.scm:187:14 (file)> "report-gnome.scm"]
In system/base/target.scm:
59: 16 [with-target "x86_64-unknown-linux-gnu" ...]
In system/base/compile.scm:
152: 15 [compile-file "report-gnome.scm" #:output-file ...]
43: 14 [call-once #<procedure 1a27c40 at system/base/compile.scm:56:5 ()>]
In ice-9/boot-9.scm:
174: 13 [with-throw-handler #t ...]
In system/base/compile.scm:
59: 12 [#<procedure 1a27c00 at system/base/compile.scm:58:9 ()>]
155: 11 [#<procedure 1a27c80 at system/base/compile.scm:153:8 (port)> #<closed: file 0>]
218: 10 [read-and-compile #<input: report-gnome.scm 9> #:from ...]
234: 9 [lp (# # # # ...) #<directory # 1a74a00> #<directory # 1a74a00>]
182: 8 [lp (#<procedure compile-tree-il (x e opts)>) (cond-expand # #) ...]
In ice-9/boot-9.scm:
2412: 7 [save-module-excursion #<procedure 21eaf30 at language/scheme/compile-tree-il.scm:29:3 ()>]
In language/scheme/compile-tree-il.scm:
31: 6 [#<procedure 21eaf30 at language/scheme/compile-tree-il.scm:29:3 ()>]
In ice-9/psyntax.scm:
1107: 5 [expand-top-sequence ((cond-expand (guile-2 #) (else))) () ...]
990: 4 [scan ((cond-expand (guile-2 #) (else))) () ...]
990: 3 [scan (#(syntax-object (eval-when # # ...) (#) ...)) () ...]
279: 2 [scan (#) () (#) ...]
In unknown file:
?: 1 [load-extension "libgncmod-report-gnome" "scm_init_sw_report_gnome_module"]
In ice-9/boot-9.scm:
109: 0 [#<procedure 1a27bc0 at ice-9/boot-9.scm:100:6 (thrown-k . args)> misc-error ...]

ice-9/boot-9.scm:109:20: In procedure #<procedure 1a27bc0 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:1142: report-gnome.go] Error 1
make[5]: Leaving directory '/build/gnucash/src/gnucash-2.6.18/src/report/report-gnome'
make[4]: *** [Makefile:838: all-recursive] Error 1
make[4]: Leaving directory '/build/gnucash/src/gnucash-2.6.18/src/report/report-gnome'
make[3]: *** [Makefile:503: all-recursive] Error 1
make[3]: Leaving directory '/build/gnucash/src/gnucash-2.6.18/src/report'
make[2]: *** [Makefile:565: all-recursive] Error 1
make[2]: Leaving directory '/build/gnucash/src/gnucash-2.6.18/src'
make[1]: *** [Makefile:794: all-recursive] Error 1
make[1]: Leaving directory '/build/gnucash/src/gnucash-2.6.18'
make: *** [Makefile:647: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/colin/.SSD-232.9G/Games/chroot/colin/build

muon commented on 2017-11-09 02:28

For anyone else curious about the stock quotes, it's a known issue resulting from Yahoo shutting down their public API. There is quite a lot of discussion on the gnucash mailing list:
https://lists.gnucash.org/pipermail/gnucash-user/2017-November/thread.html

muon commented on 2017-11-08 02:04

@Schmeidenbacher
Okay, I'll follow up either with the Arch Linux forums or Gnucash devs. Many thanks for your efforts and suggestion.

Schmeidenbacher commented on 2017-11-07 12:38

Ok. I just compiled and installed the gnucash package on a new system, without any prior gnucash installation present.

I tried

gnc-fq-dump -v yahoo GOOG

and received an error that some perl modules could not be found and that i should run

sudo gnc-fq-update

Which i did. It did some perl compiling after which i ran the first command again, resulting in the same message as you got. I did the same test you did and also got the #f error.

The package perl-mozilla-ca is not installed on my system and was not needed. I did not receive any certificate errors.

I must admit, that i haven't used these gnucash feature so far. I'm not sure if the recent pearl update and it's change of the pearl library paths has something to do with it. It may be that the update command will rebuild the required modules in a way that they work again. Worth a try.

If that doesn't work you could try to file a bug report via gnucash's bugtracker. Information about that can be found on gnucash.org.

Alternatively you can try the archlinux forums. Maybe someone there has any more insight.

muon commented on 2017-11-07 02:53

Thanks for maintaining this while it's in the AUR.

If this sounds more like an upstream thing, feel free to redirect me. Using 2.6.18-4, I'm no longer able to retrieve online quotes. Running from the GUI, I get "There was an unknown error while retrieving the price quotes." From the command line,
$ gnc-fq-dump -v yahoo GOOG
Can't locate Mozilla/CA.pm in @INC (you may need to install the Mozilla::CA module) (@INC contains: /usr/lib/perl5/5.26/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.26/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.26/core_perl /usr/share/perl5/core_perl) at /usr/share/perl5/vendor_perl/Finance/Quote/Tiaacref.pm line 33.
Compilation failed in require at (eval 328) line 1.
BEGIN failed--compilation aborted at (eval 328) line 1.
at /usr/bin/gnc-fq-dump line 148.
No results found for stock GOOG.

and after installing perl-mozilla-ca that error went away (should this be another optional dependency for stock information lookups?), but the command still fails:
$ gnc-fq-dump -v yahoo GOOG
No results found for stock GOOG.
and following the troubleshooting on https://wiki.gnucash.org/wiki/FAQ#Q:_How_do_I_fix_a_system_error_when_getting_stock_quotes.3F
I tried
$ echo '(yahoo "CSCO" "JDSU" "^IXIC")' | gnc-fq-helper
which returned the error "#f". And then I wasn't sure where to go anymore, as the lookups still don't work. Any guidance would be appreciated.

Schmeidenbacher commented on 2017-11-02 22:09

@p.houska: You are right. I could reproduce that. Something must've changed since the last time i built this. It worked fine back then. Well then. Changed the dependcies to guile2.0. We will stick with this one then.

Anonymous comment on 2017-11-02 19:36

@Schmeidenbacher
First of all thanks a lot. I was struggling in the past with webkit, which didn't want to build on my system. Building in clean chroot did the trick.

Interestingly I get following error while building gnucash:


checking for guile-2.0 >= 2.0.0... no
checking for guile-1.8 >= 1.8.5... no
configure: error:
guile does not appear to be installed correctly, or is not in the
correct version range. Perhaps you have not installed the guile
development packages? Gnucash requires at least version 1.8.5 to
build.

But guile 2.2 is installed on my system:
extra/guile 2.2.2-1 [installed]

My solution was to add it to the chroot:

makechrootpkg -T -r ../chroot/ -I /var/cache/pacman/pkg/guile2.0-2.0.14-1-x86_64.pkg.tar.xz -I ../goffice0.8/goffice0.8-0.8.17-4-x86_64.pkg.tar.xz -I ../webkitgtk/webkitgtk2-2.4.11-6-x86_64.pkg.tar.xz


After this everything compiles perfectly and installs fine. BUT I can run gnucash only if I install guile2.0 in my system.

I am not sure, but shouldn't guile2.0 be as dependency in the MAKEPKG?


@ArnaudNux
I had this problem, too. This line tells you what happened:
Source/WebCore/crypto/keys/.deps/libWebCore_la-CryptoKeyHMAC.Tpo: No space left on device

My solution was to build in my user directory. I do not know if I break some rules by that, but it works in my case. Check the tmpfs drive size with "df -h".

ArnaudNux commented on 2017-11-01 18:15

@Schmeidenbacher: When compiling the package "webkitgtk" I have this error:



"defined" may not be portable [-Wexpansion-to-defined]
#if ENABLE(SUBTLE_CRYPTO)
^~~~~~~~~~~~~~~~~~~~
In file included from ../webkitgtk-2.4.11/Source/WebCore/crypto/CryptoKey.h:34:0,
from ../webkitgtk-2.4.11/Source/WebCore/crypto/keys/CryptoKeyHMAC.h:29,
from ../webkitgtk-2.4.11/Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp:27:
../webkitgtk-2.4.11/Source/WTF/wtf/Vector.h:1221:20: fatal error: closing dependency file Source/WebCore/crypto/keys/.deps/libWebCore_la-CryptoKeyHMAC.Tpo: No space left on device
using WTF::notFound;
^
compilation terminated.
{standard input}: Assembler messages:
{standard input}: Fatal error: can't write 18 bytes to section .comment of Source/WebCore/crypto/keys/.libs/libWebCore_la-CryptoKeyHMAC.o because: 'No space left on device'
{standard input}: Fatal error: can't close Source/WebCore/crypto/keys/.libs/libWebCore_la-CryptoKeyHMAC.o: No space left on device
make[1]: *** [GNUmakefile:54292: Source/WebCore/crypto/keys/libWebCore_la-CryptoKeyHMAC.lo] Error 1
make[1]: Leaving directory '/build/webkitgtk/src/build-gtk2'
make: *** [GNUmakefile:25837: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Schmeidenbacher commented on 2017-10-16 15:24

@ArnaudNux: As already stated in the comments you get if you click the "All Comments" button for, this problem is known and that the only cure for it is to rebuild webkitgtk2 and goffice0.8.
There is a pinned comment right on top of the comment thread which has the complete way to build the package in it. As an additional note: Yaourt or any other AUR helper will not help you in this case, you will have to build it by hand.

ArnaudNux commented on 2017-10-15 22:57

/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_width'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_egl_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_glx_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_height'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_device_set_thread_aware'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_create_for_texture'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:688: gnucash] Error 1
make[4]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.18/src/bin'
make[3]: *** [Makefile:788: all-recursive] Error 1
make[3]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.18/src/bin'
make[2]: *** [Makefile:565: all-recursive] Error 1
make[2]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.18/src'
make[1]: *** [Makefile:794: all-recursive] Error 1
make[1]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.18'
make: *** [Makefile:647: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build gnucash.
==> Restart building gnucash ? [y/N]

cortopy commented on 2017-10-15 11:58

@entodoays solution worked for me. Recompile both webkitgtk2 and goffice0.8

piedro commented on 2017-10-11 11:10

Thank you very, very much!

I wish we could make that a sticky here...

Haven't tried yet but I will work through this, just quickly wanted to compliment you on your efforts!

Cheers, p.

entodoays commented on 2017-10-11 06:37

After recompiling webkitgtk2 and goffice0.8 gnucash updated normally.

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-6-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.

piedro commented on 2017-10-10 00:27

Hmm,

- the cairo trick doesn*t work anymore,
- building webkitgtk2 fails,
- using a prebuild webkitgtk2 version (via "downgrade" doesn't work)

PLease could you provide a step by step how to get the latest stable gnucash package build out of your pkgbuild?

thx for your efforts, p.

amish commented on 2017-10-09 04:46

Sorry Schmeidenbacher, to keep bothering you but changing from guild2.0 to guild needs pkgrel update from 2 to 3! (as the update influences the resulting package)

https://wiki.archlinux.org/index.php/PKGBUILD#pkgrel

Thank you

amish commented on 2017-10-07 09:05

guild should be auto-detected so there is no need to specify it.
i.e. just "make" should be enough instead of "make GUILD=/usr/bin/guild"

entodoays commented on 2017-10-05 09:35

I installed the dependencies and tried compiling webkitgtk2. It took for hours on end and had to interrupt it, 'cause I have work to do and the compiling process has using lots of RAM and processing power, slowing my PC, but I do have the package installed according to pacman (version: 2.4.11-6).

Schmeidenbacher commented on 2017-10-04 17:57

@entodoays: I assume you have not yet read this wiki page yet: https://wiki.archlinux.org/index.php/makepkg#Usage

Especially the part concerning itself with what console flag to use if you have dependencies missing.

Also: I'm not the maintainer of webkitgtk2.

entodoays commented on 2017-10-04 17:40

I still cannot update Gnucash. When I tried to rebuild webkitgtk2 I got:
Edit webkitgtk.install with $EDITOR? [Y/n] n
==> Making package: webkitgtk 2.4.11-6 (Wed Oct 4 19:39:24 CEST 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
-> gperf
-> gobject-introspection
==> ERROR: Could not resolve all dependencies.

amish commented on 2017-09-28 05:25

I have not tested it but if you switched from guile2.0 to guile then you probably also need to remove: GUILD=/usr/bin/guild2.0 (in build)

DenBrahe commented on 2017-09-27 16:01

The SHA-su is SHA256 instead of SHA1 too.

kingcreole commented on 2017-09-27 10:59

if i have to adjust this sha-sum to the github version then i can't really trust the file integrity, i feel a bit uncomfortable using this at the moment anyway since it's outside of the official repositories as a security relevant thing and fiddeling with Sha-sums in this package is not something i like to risk, so i hope this will all get settled soon :/

colinkeenan commented on 2017-09-27 01:31

@Schmeidenbacher,

I tried to build gnucash 2.6.18-2 just now and it failed because it couldn't download the github source. In order to fix it, I had to add a "-1" to the source line and updpkgsums:

source=(https://github.com/Gnucash/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}-1.tar.bz2)

Notice ...-1.tar.bz2

colinkeenan commented on 2017-09-27 01:17

I've been building this successfully in a clean chroot with updated dependencies as @Schmeidenbacher has been doing. I've then been uploading the package to the archlinuxcn repo: https://github.com/archlinuxcn/repo

Scroll to the bottom of the page to see how to add the repo and keys. Then you can install and get updates of gnucash just using pacman.

Schmeidenbacher commented on 2017-09-26 20:47

@entodoays: The error referring to the undefined reference to `cairo_gl_surface_create_for_texture` points towards the problem with the cairo update. Either downgrade your cairo version and try again or rebuild the webkitgtk2 package.

@Rivabanks: All i can say is, that i did test build the package in a clean chroot with the current cairo and a webkitgtk2 package rebuilt after the cairo update. That one went through smoothly. I never put up untested PKGBUILDs.
And going through the comments, the very first ones right after this package was put up on the AUR show the errors you're getting. The solution back then was to rebuild goffice0.8 and webkitgtk2. Seems to be the solution after all.

entodoays commented on 2017-09-26 20:10

I'm having build problems too. The last part of the output is as follows:

/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib/libwebkitgtk-1.0.so: undefined reference to `cairo_gl_surface_create_for_texture'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:699: gnucash] Error 1
make[4]: Leaving directory '/tmp/packerbuild-1000/gnucash/gnucash/src/gnucash-2.6.18/src/bin'
make[3]: *** [Makefile:799: all-recursive] Error 1
make[3]: Leaving directory '/tmp/packerbuild-1000/gnucash/gnucash/src/gnucash-2.6.18/src/bin'
make[2]: *** [Makefile:576: all-recursive] Error 1
make[2]: Leaving directory '/tmp/packerbuild-1000/gnucash/gnucash/src/gnucash-2.6.18/src'
make[1]: *** [Makefile:804: all-recursive] Error 1
make[1]: Leaving directory '/tmp/packerbuild-1000/gnucash/gnucash/src/gnucash-2.6.18'
make: *** [Makefile:658: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Rivabanks commented on 2017-09-26 17:46

After the switch to github, I'm getting some crazy compile errors with this package. I did downgrade cairo to version 1.14.8-1, so I know that's not the issue:

GNC_MODULE_PATH="../../../src/app-utils/.libs:../../../src/engine/.libs:${GNC_MODULE_PATH}" GUILE_LOAD_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_PATH}" GUILE_LOAD_COMPILED_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_COMPILED_PATH}" LD_LIBRARY_PATH="../../../src/engine/.libs:../../../src/libqof/qof/.libs:../../../src/app-utils/.libs:../../../src/core-utils/.libs:../../../src/gnc-module/.libs:../../../src/gnome-utils/.libs:../../../src/backend/xml/.libs:../../../src/backend/sql/.libs:../../../src/html/.libs:../../../src/report/report-system/.libs:../../../src/report/report-gnome/.libs:${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="../../../src/engine/.libs:../../../src/libqof/qof/.libs:../../../src/app-utils/.libs:../../../src/core-utils/.libs:../../../src/gnc-module/.libs:../../../src/gnome-utils/.libs:../../../src/backend/xml/.libs:../../../src/backend/sql/.libs:../../../src/html/.libs:../../../src/report/report-system/.libs:../../../src/report/report-gnome/.libs:${DYLD_LIBRARY_PATH}" \
/usr/bin/guild2.0 compile -o report-gnome.go report-gnome.scm
Backtrace:
In /usr/bin/guild2.0:
72: 19 [main ("/usr/bin/guild2.0" "compile" "-o" ...)]
In srfi/srfi-1.scm:
616: 18 [for-each #<procedure 1a24680 at scripts/compile.scm:187:14 (file)> #]
In scripts/compile.scm:
190: 17 [#<procedure 1a24680 at scripts/compile.scm:187:14 (file)> "report-gnome.scm"]
In system/base/target.scm:
59: 16 [with-target "x86_64-unknown-linux-gnu" ...]
In system/base/compile.scm:
152: 15 [compile-file "report-gnome.scm" #:output-file ...]
43: 14 [call-once #<procedure 1a49940 at system/base/compile.scm:56:5 ()>]
In ice-9/boot-9.scm:
174: 13 [with-throw-handler #t ...]
In system/base/compile.scm:
59: 12 [#<procedure 1a49900 at system/base/compile.scm:58:9 ()>]
155: 11 [#<procedure 1a49980 at system/base/compile.scm:153:8 (port)> #<closed: file 0>]
218: 10 [read-and-compile #<input: report-gnome.scm 9> #:from ...]
234: 9 [lp (# # # # ...) #<directory # 1cd2a00> #<directory # 1cd2a00>]
182: 8 [lp (#<procedure compile-tree-il (x e opts)>) (cond-expand # #) ...]
In ice-9/boot-9.scm:
2412: 7 [save-module-excursion #<procedure 22f7e70 at language/scheme/compile-tree-il.scm:29:3 ()>]
In language/scheme/compile-tree-il.scm:
31: 6 [#<procedure 22f7e70 at language/scheme/compile-tree-il.scm:29:3 ()>]
In ice-9/psyntax.scm:
1107: 5 [expand-top-sequence ((cond-expand (guile-2 #) (else))) () ...]
990: 4 [scan ((cond-expand (guile-2 #) (else))) () ...]
990: 3 [scan (#(syntax-object (eval-when # # ...) (#) ...)) () ...]
279: 2 [scan (#) () (#) ...]
In unknown file:
?: 1 [load-extension "libgncmod-report-gnome" "scm_init_sw_report_gnome_module"]
In ice-9/boot-9.scm:
109: 0 [#<procedure 1a498c0 at ice-9/boot-9.scm:100:6 (thrown-k . args)> misc-error ...]

ice-9/boot-9.scm:109:20: In procedure #<procedure 1a498c0 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:1155: report-gnome.go] Error 1
make[5]: Leaving directory '/home/josh/Downloads/gnucash/src/gnucash-2.6.18/src/report/report-gnome'
make[4]: *** [Makefile:849: all-recursive] Error 1
make[4]: Leaving directory '/home/josh/Downloads/gnucash/src/gnucash-2.6.18/src/report/report-gnome'
make[3]: *** [Makefile:514: all-recursive] Error 1
make[3]: Leaving directory '/home/josh/Downloads/gnucash/src/gnucash-2.6.18/src/report'
make[2]: *** [Makefile:576: all-recursive] Error 1
make[2]: Leaving directory '/home/josh/Downloads/gnucash/src/gnucash-2.6.18/src'
make[1]: *** [Makefile:804: all-recursive] Error 1
make[1]: Leaving directory '/home/josh/Downloads/gnucash/src/gnucash-2.6.18'
make: *** [Makefile:658: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

There doesn't seem to be a coherent error anywhere in this mess, so I have no idea where the problem even is.

Schmeidenbacher commented on 2017-09-26 16:25

Changed the sources to github.

Thah commented on 2017-09-26 15:30

Alternatively, you can fetch the source code from here:

https://github.com/Gnucash/gnucash/releases

p.s.: Use the gnucash-*, not the "Source code" files.

Schmeidenbacher commented on 2017-09-26 15:19

Neither a problem of this package nor the cairo version this time. It's sourceforge having a problem it seems.

I just redownloaded the source files to check mine up and noted a significant size difference. The ones i used are 19MiB in size while the one downloaded just now is just about 600Byte. I checked what was downloaded and lo-and-behold it's this:

<html><head>
<title>SourceForge</title>
<!-- <script src="/js/jquery.com/jquery-1.11.0.min.js"></script> -->
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="https://sourceforge.net/js/mirrors.js"></script>
<script src="/js/sf.js"></script>
<script>
var DR_loc = DR_parse_hash_url();
if (DR_loc) {
DR_sf_main(DR_loc);
} else {
window.location.href = 'https://sourceforge.net/home.html';
}
</script>
</head><body>
<noscript>
We're sorry -- the Sourceforge site is currently in Disaster Recovery mode, and currently requires
the use of javascript to function. Please check back later.
</noscript>
</body></html>


Can't do anything about it. Until they change the hosting spot for their source tarball or sourceforge works again, there's nothing that can be done for now.

alonzemog commented on 2017-09-26 15:05

gnucash-2.6.18-1 failed to build, with either current or downgraded version on cairo:



AUR Packages (1) gnucash-2.6.18-1

:: Proceed with installation? [Y/n]

:: Retrieving package(s)...
:: gnucash build files are up-to-date -- skipping
:: Checking gnucash integrity...
==> Making package: gnucash 2.6.18-1 (Tue Sep 26 10:36:47 EDT 2017)
==> Retrieving sources...
-> Found gnucash-2.6.18.tar.gz
==> Validating source files with sha1sums...
gnucash-2.6.18.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
:: failed to verify gnucash integrity



It does not say what file(s) are invalid.

Suggestions?

Schmeidenbacher commented on 2017-09-24 11:02

@kubrick: Will be done once the new stable version is out.

For this package i will only use stable sources. And sadly, for now, we just have to deal with that.

You're free to create an unstable version package if you want to though.

@ArnaudNux: Please read the comments of a package first. This problem has already been addressed. You either need to do piedro's workaround or rebuild webkitgtk2 with the newes cairo version installed. This is not a problem with this package.

amish commented on 2017-09-24 10:17

2.7 is unstable branch. 2.8 is actual stable target.

Please see NEWS here:
https://github.com/Gnucash/gnucash/blob/0004a44f5f188d910cf7ab155ed1f0ce7fa1949a/NEWS

kubrick commented on 2017-09-24 09:43

Since 2.7, goffice is no longer a dependency, please remove. Also gnucash does not longer depend on flawed webkit 1 gtk2, update the dependency to webkit2gtk (from extra).
This package can then go back to the main repository instead of being in AUR.

ArnaudNux commented on 2017-09-23 23:10

libtool: link: gcc -Wdeclaration-after-statement -Wno-pointer-sign -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -std=gnu99 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wno-unused -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/gnucash gnucash-bin.o -pthread -Wl,--export-dynamic -pthread ../../src/register/ledger-core/.libs/libgncmod-ledger-core.so ../../src/report/report-gnome/.libs/libgncmod-report-gnome.so ../../src/gnome/.libs/libgnc-gnome.so ../../src/gnome-utils/.libs/libgncmod-gnome-utils.so ../../src/app-utils/.libs/libgncmod-app-utils.so ../../src/engine/.libs/libgncmod-engine.so ../../src/gnc-module/.libs/libgnc-module.so ../../src/core-utils/.libs/libgnc-core-utils.so ../../src/libqof/qof/.libs/libgnc-qof.so ../../src/report/report-system/.libs/libgncmod-report-system.so -lguile-2.0 -lgc -lgthread-2.0 -lgmodule-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lm -pthread -Wl,-rpath -Wl,/usr/lib/gnucash
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_width'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_egl_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_glx_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_height'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_device_set_thread_aware'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_create_for_texture'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:687: gnucash] Error 1
make[4]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.17/src/bin'
make[3]: *** [Makefile:787: all-recursive] Error 1
make[3]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.17/src/bin'
make[2]: *** [Makefile:550: all-recursive] Error 1
make[2]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.17/src'
make[1]: *** [Makefile:784: all-recursive] Error 1
make[1]: Leaving directory '/home/arnaud/tempo/yaourt-tmp-arnaud/aur-gnucash/src/gnucash-2.6.17'
make: *** [Makefile:637: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build gnucash.
==> Restart building gnucash ? [y/N]
==> --------------------------------

piedro commented on 2017-09-22 10:24

Best solution I found in the gnucash forum:

1. downgrade cairo like this

sudo pacman -U https://archive.archlinux.org/packages/c/cairo/cairo-1.14.8-1-$(uname -m).pkg.tar.xz

2. install gnucash from the AUR (from here...:-))

3. upgrade cairo with
pacman -S cairo

This should work quickly and without the whole unreliable webkitgtk2 compiling
shenanigans... cheers, p.

Schmeidenbacher commented on 2017-09-19 16:05

Sorry for the inconveniences. It's now back to the original make dependencies. As a reminder: The build errors stemmed from the newer cairo version, which require a re-build and re-installation of the webkitgtk2 package.

Personally i would also prefer this package to get back into the official repos, but that will only happen, if the devs move away from webkitgtk2. Which, as far as i'm aware off, they're working on.

Sadly webkitgtk2 is a so immense package that it takes forever to get build.

dreamersbrow commented on 2017-09-19 15:35

Hi @amish

I also really rely upon gnucash. When it wouldn't start over the weekend I went looking for an alternative until things got squared away. I was able to find it as a flatpak on https://flathub.org/

The flatpak worked great and got me through in a pinch.

amish commented on 2017-09-19 15:24

I so much depend on this package for day to day activity. Ever since this package moved to AUR I am having hard time.(more due to AUR dependencies)

Hope its moved back to official repo soon.(instead of never!)

Schmeidenbacher commented on 2017-09-19 11:36

So. Now that i had more time on hand i rebuilt the webkitgtk2 package (https://aur.archlinux.org/packages/webkitgtk2/) and reinstalled that one.

Turns out that the gnucash package was fine, but due to the cairo update you'll need to recompile webkitgtk2 to get this package to compile again.

Depending on the machine you compile it on, that's a couple of hours. Have fun with that. As soon as i get home, this package will get it's makedeps reverted back to the previous form.

Schmeidenbacher commented on 2017-09-18 21:22

Thanks for the heads-up @Plexcon.

Note: As of the latest update of the cairo package, gnucash fails to build. We now have a build dependency on cairo <= 1.14.8 because of that.

I've tried several things for the last couple of hours, but the only solution i could came up with to build this package is in a clean chroot with a copy of the previous cairo version (1.14.8) installed via the -I parameter. Or in other words: cairo 1.15.8 broke this package for now.

Plexcon commented on 2017-09-18 15:50

pe -lm -pthread -Wl,-rpath -Wl,/usr/lib/gnucash
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_width'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_height'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_device_set_thread_aware'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_egl_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_create_for_texture'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_glx_device_create'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:687: gnucash] Error 1
make[4]: se sale del directorio '/tmp/yaourt-tmp-kantergos/aur-gnucash/src/gnucash-2.6.17/src/bin'
make[3]: *** [Makefile:787: all-recursive] Error 1
make[3]: se sale del directorio '/tmp/yaourt-tmp-kantergos/aur-gnucash/src/gnucash-2.6.17/src/bin'
make[2]: *** [Makefile:550: all-recursive] Error 1
make[2]: se sale del directorio '/tmp/yaourt-tmp-kantergos/aur-gnucash/src/gnucash-2.6.17/src'
make[1]: *** [Makefile:784: all-recursive] Error 1
make[1]: se sale del directorio '/tmp/yaourt-tmp-kantergos/aur-gnucash/src/gnucash-2.6.17'
make: *** [Makefile:637: all] Error 2

Plexcon commented on 2017-09-18 15:17

uf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lm -pthread -Wl,-rpath -Wl,/usr/lib/gnucash
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_width'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_get_height'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_device_set_thread_aware'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_egl_device_create'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_gl_surface_create_for_texture'
/usr/lib/libwebkitgtk-1.0.so.0: undefined reference to `cairo_glx_device_create'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:687: gnucash] Error 1
make[4]: se sale del directorio '/tmp/pamac-build-kantergos/gnucash/src/gnucash-2.6.17/src/bin'
make[3]: *** [Makefile:787: all-recursive] Error 1
make[3]: se sale del directorio '/tmp/pamac-build-kantergos/gnucash/src/gnucash-2.6.17/src/bin'
make[2]: *** [Makefile:550: all-recursive] Error 1
make[2]: se sale del directorio '/tmp/pamac-build-kantergos/gnucash/src/gnucash-2.6.17/src'
make[1]: *** [Makefile:784: all-recursive] Error 1
make[1]: se sale del directorio '/tmp/pamac-build-kantergos/gnucash/src/gnucash-2.6.17'
make: *** [Makefile:637: all] Error 2
==> ERROR: Se produjo un fallo en build().
Cancelando...

Schmeidenbacher commented on 2017-07-13 19:48

@corecode: I would rather not do it directly in this package, as python2 is a relatively large dependency for that, which probably not everybody using this package wants.

Before the switch to AUR4 there was a gnucash-python file, which enabled the python 2 bindings.

So i (re)created the gnucash-python package. If you want the python bindings enabled you can just install that other one. It has it's conflict field set to gnucash, so that you just need to install it and it will cleanly remove the non-python version by itself. Same is true for the other way around. If you install this package it will replace the gnucash-python one as well.

(Link the the other package: https://aur.archlinux.org/packages/gnucash-python/)

If you want, in can orphan the python-gnucash package and let you maintain it. Just let me know if you want to.

corecode commented on 2017-07-13 13:31

could you include python scripting? I use

PYTHON=`which python2` ./configure ... --enable-python

dxu commented on 2017-07-10 02:05

With regards to the manual build, the gnucash developers are aware that the webkitgtk2 dependency needs to be dropped (in favor of webkit2gtk). It looks like they are confident work will be done soon [0].

This means this package should be able to return to the official repositories within a few months.

[0]: https://bugzilla.gnome.org/show_bug.cgi?id=751635

Schmeidenbacher commented on 2017-07-07 18:52

@dtbaumann: Interestingly enough … that doesn't seem to be the case. I just built it with both dependencies. Both went through. And both packages worked after installation. So i checked which guile libraries are actually used by both build versions of gnucash.

Turns out both were using /usr/lib/libguile.so.17.4.0 and /usr/lib/libguile-srfi-srfi-1-v-3.so.3.0.2 both being found in guile1.8 and being installed as a secondary dependency via gnucash's slib dependency.

So for now i won't change the package again. Unless it really fails to work for someone. I might change it in a future version though.

dtbaumann commented on 2017-07-07 17:32

@Schmeidenbacher ... and in this case the dependency probably has to be changed back to guile2.0 (which is what gnucash and the compilation uses)

Schmeidenbacher commented on 2017-07-07 14:09

Here as well @dtbaumann. The build ran through on my normal system without the need for a clean chroot. Added the change in the PKGBUILD.

dtbaumann commented on 2017-07-07 12:39

gnucash still uses guile2.0 but during compilation guile 2.2 is used if available. This results in the described error messages

;;; WARNING: loading compiled file /usr/lib/gnucash/scm/ccache/2.0/gnucash/engine.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01ÿ\x00\x00\x00\x00\x00\x00\x00\x00"

and possibly in the segfaults.

Adding

make GUILD=/usr/bin/guild2.0

in the build() resolves the error messages. Gnucash then compiles and starts clean here (2.6.17-2)

Schmeidenbacher commented on 2017-07-05 19:33

Now i got the segfault reproduced. But only if i try to compile it on my "messy" system. So something i have installed on my machine interferes with the build process.

It works perfectly in a clean chroot on the same machine though, which also means that AUR-helpers won't do you any good with this package it seems.

For more information about clean chroots: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot

Here are my build steps.

I ensure that my /tmp (which is a RAM disk in my case) is suitable

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

Then i create a folder to keep the chroot in

mkdir /tmp/chroot/ -p

Then i create the clean chroot with only the base-devel group in it

mkarchroot /tmp/chroot/root base-devel

And then i do the build in a temporary copy of the clean chroot with the two prebuild dependencies added which aren't in the official repos and need to be added in by hand :

makechrootpkg -T -r /tmp/chroot/ -I goffice0.8-0.8.17-4-x86_64.pkg.tar.xz -I webkitgtk2-2.4.11-6-x86_64.pkg.tar.xz -- -s

This builds without any segfault on several of my machines.

uhoso commented on 2017-07-05 18:56

I got the same segmantation fault as kingcreole.

pacman -S base-devel --needed said "There is nothing to do"

Schmeidenbacher commented on 2017-07-05 10:23

If you're missing pkg-config then you haven't installed the full base-devel group.

Please do a

pacman -S base-devel --needed

before you build a package. That will install only the missing packages from the base-devel group if any are missing.

I tested the package in a clean chroot with only the base-devel group in addition to the defined dependencies installed. And that built as expected.

kingcreole commented on 2017-07-04 21:04

Hey, uhm, i'm sorry to bother you, i got a Segmentation fault, sorry for my german locale, but the german stuff is basically saying segmentationfault

/usr/bin/guild compile -o customer-summary.go customer-summary.scm
make[4]: *** [Makefile:755: customer-summary.go] Speicherzugriffsfehler (Speicherauszug erstellt)

oddly enough, 2.6.17-1 seems to have worked

update: seems like pkgconfig was necessary

Schmeidenbacher commented on 2017-07-04 19:01

@Brinox: Done

I hadn't even had time to really look at the package. Since it just came from extra i only made sure that it built in a clean chroot and that it would run.

Brinox commented on 2017-07-04 15:58

You can remove gcc and pkgconfig from makedepends as they're already part of the base-devel group and therefore don't need to be stated explicitly.

Schmeidenbacher commented on 2017-07-03 18:31

Released Version 2.6.17-1.

dajoe commented on 2017-07-02 18:35

@kubrick
Thank you, your comment pointed me into the right direction. I was trying to build gnucash against existing webkitgtk2 and goffice0.8. I had to remove both and build them again from aur (webkitgtk2 almost took the day). Then gnucash built just fine.

kubrick commented on 2017-07-02 09:33

@dajoe: did you try removing exiting gnucash & goffice0.8 before building the aur package?

dajoe commented on 2017-07-02 08:34

build fails (using yaourt):

/usr/bin/guild compile -o report-gnome.go report-gnome.scm
Backtrace:
In ice-9/eval.scm:
619:8 19 (_ #(#(#<directory (guile-user) e6f140>)))
In /usr/bin/guild:
72:17 18 (main _)
In srfi/srfi-1.scm:
640:9 17 (for-each #<procedure d3e080 at scripts/compile.scm:24…> …)
In scripts/compile.scm:
251:26 16 (_ _)
In system/base/target.scm:
57:6 15 (with-target _ _)
In system/base/compile.scm:
152:6 14 (compile-file _ #:output-file _ #:from _ #:to _ #:env _ …)
43:4 13 (call-once _)
In ice-9/boot-9.scm:
849:4 12 (with-throw-handler _ _ _)
In system/base/compile.scm:
59:11 11 (_)
155:11 10 (_ #<closed: file fb6e00>)
235:18 9 (read-and-compile #<input: report-gnome.scm 13> #:from _ …)
183:32 8 (compile-fold (#<procedure compile-tree-il (x e opts)>) …)
In ice-9/boot-9.scm:
2316:4 7 (save-module-excursion #<procedure 1874080 at language/…>)
In language/scheme/compile-tree-il.scm:
31:15 6 (_)
In ice-9/psyntax.scm:
1234:36 5 (expand-top-sequence ((cond-expand (guile-2 (# …)) #)) _ …)
1181:24 4 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
1181:24 3 (parse _ (("placeholder" placeholder)) (()) _ c (# # #) #)
284:10 2 (parse _ (("placeholder" placeholder)) ((top) #(# …) #) …)
In unknown file:
1 (load-extension "libgncmod-report-gnome" "scm_init_sw_r…")
In ice-9/boot-9.scm:
760:25 0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:760:25: In procedure dispatch-exception:
ice-9/boot-9.scm:760:25: In procedure dynamic-link: file: "libgncmod-report-gnome", message: "file not found"

City-busz commented on 2017-07-01 10:27

Because it depends on insecure libwebkitgtk-1.0:
https://bugzilla.gnome.org/show_bug.cgi?id=751635

See also:
https://lists.archlinux.org/pipermail/arch-dev-public/2017-June/028900.html

kubrick commented on 2017-07-01 10:09

Hello. Why has this package been moved from extra?