[GNC-dev] guile error during build

John Ralls jralls at ceridwen.us
Sun Apr 8 12:45:18 EDT 2018



> On Apr 8, 2018, at 3:04 AM, Herbert Thoma <herbert.thoma at iis.fraunhofer.de> wrote:
> 
> This message had the subject "Building GnuCash 3 on openSuSE".
> May be that did not raise enough attention ...
> 
> So, any hints from anybody with more scheme knowledge is greatly
> appreciated.
> 
> 
> Hi!
> 
> I did not build GnuCash myself for some time, but with 3.0 I did
> try again.
> 
> I'm running openSUSE Leap 42.3.
> 
> So the first error was about gettext being only version 0.19.2.
> OK, this is easily circumvented with -D ALLOW_OLD_GETTEXT=ON,
> but still a bit unfortunate because openSUSE Leap 42.3 ships only
> 0.19.2 and openSUSE Leap 42.3 is the most recent stable openSUSE
> distribution.
> 
> Next problem was GTEST. openSUSE Leap 42.3 has a package libgtest0,
> but this does not help. So I downloaded googletest and set the
> GTEST_ROOT and GMOCK_ROOT variables.
> 
> With this environment set cmake completes, but make aborts with this
> error:
> 
> [ 30%] Built target scm-gnc-module
> Scanning dependencies of target scm-core-utils
> [ 30%] Generating ../../lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go
> Backtrace:
> In srfi/srfi-1.scm:
> 619: 19 [for-each #<procedure 1588ec0 at scripts/compile.scm:179:14 (file)> #]
> In scripts/compile.scm:
> 182: 18 [#<procedure 1588ec0 at scripts/compile.scm:179:14 (file)> "/home/tma/gnucash/gnucash_cvs/gnucash/libgnucash/core-utils/core-utils.scm"]
> In system/base/target.scm:
>  59: 17 [with-target "x86_64-suse-linux-gnu" ...]
> In system/base/compile.scm:
> 150: 16 [compile-file "/home/tma/gnucash/gnucash_cvs/gnucash/libgnucash/core-utils/core-utils.scm" ...]
>  43: 15 [call-once #<procedure 1588100 at system/base/compile.scm:56:5 ()>]
> In ice-9/boot-9.scm:
> 171: 14 [with-throw-handler #t ...]
> In system/base/compile.scm:
>  59: 13 [#<procedure 15880c0 at system/base/compile.scm:58:9 ()>]
> 153: 12 [#<procedure 1588140 at system/base/compile.scm:151:8 (port)> #<closed: file 0>]
> 216: 11 [read-and-compile #<input: core-utils.scm 5> #:from ...]
> 232: 10 [lp (# # # # ...) #<directory # 18ab6c0> #<directory # 18ab6c0>]
> 180: 9 [lp # # # ...]
> In ice-9/boot-9.scm:
> 2320: 8 [save-module-excursion #<procedure 19e6f60 at language/scheme/compile-tree-il.scm:29:3 ()>]
> In language/scheme/compile-tree-il.scm:
>  31: 7 [#<procedure 19e6f60 at language/scheme/compile-tree-il.scm:29:3 ()>]
> In ice-9/psyntax.scm:
> 1091: 6 [expand-top-sequence ((re-export gnc-build-userdata-path)) () ...]
> 976: 5 [scan ((re-export gnc-build-userdata-path)) () ...]
> 270: 4 [scan ((# #)) () (()) ...]
> In ice-9/boot-9.scm:
> 2015: 3 [call-with-deferred-observers #<procedure 19e6690 at ice-9/eval.scm:416:20 ()>]
> 700: 2 [for-each #<procedure 19e6660 at ice-9/boot-9.scm:3641:14 (name)> #]
> In unknown file:
>   ?: 1 [scm-error misc-error #f ...]
> In ice-9/boot-9.scm:
> 106: 0 [#<procedure 1588080 at ice-9/boot-9.scm:97:6 (thrown-k . args)> misc-error ...]
> 
> ice-9/boot-9.scm:106:20: In procedure #<procedure 1588080 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: Undefined variable: gnc-build-userdata-path
> libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/build.make:61: recipe for target 'lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go' failed
> make[2]: *** [lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go] Error 1
> CMakeFiles/Makefile2:3773: recipe for target 'libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/all' failed
> make[1]: *** [libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/all] Error 2
> Makefile:160: recipe for target 'all' failed
> make: *** [all] Error 2
> 
> Any suggestions?
> 
> gcc --version
> gcc (SUSE Linux) 4.8.5
> 
> guile --version
> guile (GNU Guile) 2.0.9

Frank did reply to your first email, though he didn’t address the missing gnc-build-userdata-path.

Delete ~/.cache/guile
Make sure that you’re building from a completely clean source, in a completely clean build directory, and installing to a prefix with no <prefix>/<libdir>/gnucash. Make sure that there are no cached gnucash files anywhere guile can find them: You make need to fuddle guile’s search paths if you have gnucash installed from the package manager in /usr. I don’t know how to do that. The OpenSuSE packager hangs out on IRC with the nick luc14n0 and he might be able to help.

Regards,
John Ralls



More information about the gnucash-devel mailing list