[GNC-dev] Build error with scm-engine on current master

Geert Janssens geert.gnucash at kobaltwit.be
Fri Sep 13 15:38:41 EDT 2019


John pushed a fix for your make check error earlier today.

As for the load path, I'm not sure. I know we have had issues with this in the 
past. Perhaps those are solved by now.

Regards,

Geert

Op vrijdag 13 september 2019 21:27:41 CEST schreef Christian Gruber:
> I tried again.
> 
> "make all" works fine now, but "make check" still generates errors. But this
> is probably due to some still missing dependencies, as I already mentioned
> in the previous thread "Need help - several tests fail". When I invoke
> "make check" in a fresh build dir directly after CMake, then the following
> error is generated when compiling gnucash/report/html-chart.scm:
> 
> Backtrace:
> In scripts/compile.scm:
>     259:26 19 (_ _)
> In system/base/target.scm:
>       57:6 18 (with-target _ _)
> In system/base/compile.scm:
>      152:6 17 (compile-file _ #:output-file _ #:from _ #:to _ #:env _ …)
>       43:4 16 (call-once _)
> In ice-9/boot-9.scm:
>      841:4 15 (with-throw-handler _ _ _)
> In system/base/compile.scm:
>      59:11 14 (_)
>     155:11 13 (_ #<closed: file 55fd66137230>)
>     235:18 12 (read-and-compile #<input: html-chart.scm 13> #:from _ # …)
>     183:32 11 (compile-fold (#<procedure compile-tree-il (x e opts)>) …)
> In ice-9/boot-9.scm:
>     2312:4 10 (save-module-excursion #<procedure 55fd660bb680 at lang…>)
> In language/scheme/compile-tree-il.scm:
>      31:15  9 (_)
> In ice-9/psyntax.scm:
>    1235:36  8 (expand-top-sequence ((use-modules (gnucash json #))) _ …)
>    1182:24  7 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
>     285:10  6 (parse _ (("placeholder" placeholder)) (()) _ c&e (# #) #)
> In ice-9/boot-9.scm:
>    3377:20  5 (process-use-modules _)
>     222:17  4 (map1 (((gnucash json builder))))
>    3378:31  3 (_ ((gnucash json builder)))
>     2803:6  2 (resolve-interface _ #:select _ #:hide _ #:prefix _ # _ …)
> In unknown file:
>             1 (scm-error misc-error #f "~A ~S" ("no code for modu…" …) …)
> In ice-9/boot-9.scm:
>     752:25  0 (dispatch-exception _ _ _)
> 
> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
> no code for module (gnucash json builder)
> 
> 
> 
> Instead if I invoke "make all" first after CMake and then "make "check",
> everything builds correctly.
> 
> The target with missing dependencies seems to be scm-report-2.
> 
> 
> 
> Finally I tried to clarify the question, if and how an existing GnuCash
> installation can interfere with the build process, just out of interest.
> In PR #574 <https://github.com/Gnucash/gnucash/pull/574> you wrote:
> > the linker picks up a 3.x version of gnucash installed system-wide
> 
> And John Ralls wrote:
> > The problem is that Guile loads C libraries with dlopen and that looks on
> > the system path [...] before it looks in the build directory
> But as far as I can see when guile is invoked LD_LIBRARY_PATH is always set
> to "${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash", i.e. that these directories
> are searched first before any system paths (see
> http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html).
> 
> Did I miss something?
> 
> Christian
> 
> Am 12.09.19 um 10:45 schrieb Geert Janssens:
> > Hi Christian,
> > 
> > With the last commit on master it works here now.
> > 
> > Can you retry ?
> > 
> > Geert
> > 
> > Op donderdag 12 september 2019 09:47:43 CEST schreef Geert Janssens:
> >> Hi Christian,
> >> 
> >> Thanks to your detailed description I can now reproduce the problem when
> >> building master with "make" rather than "ninja".
> >> 
> >> Turns out there's a hidden circular dependency between engine.scm and
> >> engine- utilities.scm via the call to
> >> (gnc:module-begin-syntax (gnc:module-load "gnucash/engine" 0))
> >> 
> >> I have a fix ready for this particular case, but there are more of these
> >> so
> >> I'm still working through the others.
> >> 
> >> Regards,
> >> 
> >> Geert
> >> 
> >> Op donderdag 12 september 2019 00:46:13 CEST schreef Christian Gruber:
> >>> This thread is related to the build issue I encountered when finally
> >>> building PR #574 <https://github.com/Gnucash/gnucash/pull/574> locally.
> >>> 
> >>> Invoking "make all" on current master lead to the following build error
> >>> when compiling libgnucash/engine/engine-utilities.scm:
> >>> 
> >>> Backtrace:            1 (primitive-load-path
> >>> "gnucash/engine/gnc-numeric") In ice-9/boot-9.scm:    752:25  0
> >>> (dispatch-exception _ _ _) ice-9/boot-9.scm:752:25: In procedure
> >>> dispatch-exception: In procedure primitive-load-path: Unable to find
> >>> file "gnucash/engine/gnc-numeric" in load path
> >>> 
> >>> File libgnucash/engine/engine-utilities.scm is built with target
> >>> scm-engine-1, therefore the same build error can be reproduced by
> >>> invoking "make scm-engine-1" or "make scm-engine" as well.
> >>> 
> >>> According to PR #574 <https://github.com/Gnucash/gnucash/pull/574>  I
> >>> can preclude, that this is due to reusing a maint build directory, since
> >>> I built in a clean and fresh build dir.
> >>> 
> >>> Next I tried to build again after moving directories
> >>> /usr/lib/x86_64-linux-gnu/gnucash/gnucash and files
> >>> /usr/lib/x86_64-linux-gnu/gnucash/libgnc*.so.
> >>> 
> >>> After that I uninstalled my GnuCash 3.5, which was installed before from
> >>> distros package manager.
> >>> 
> >>> Finally I searched my whole system for gnucash directories and removed
> >>> them in /usr/local/... where I previously installed GnuCash built from
> >>> source repo.
> >>> 
> >>> Everytime I built in a clean and fresh build dir, but the build error
> >>> was always the same.
> >>> 
> >>> Finally I further investigated sources and found a maybe important
> >>> change in file libgnucash/engine/engine.scm made in commit 53f59f7.
> >>> Therefore I tried two builds at the end, one with commit 53f59f7 and the
> >>> second with commit cb50f7a, which is one commit before 53f59f7. The
> >>> result was, that commit 53f59f7 leads to the mentioned build error, but
> >>> commit cb50f7a could successfully be built.
> >>> 
> >>> Any ideas?
> >>> 
> >>> Christian
> >>> 
> >>> _______________________________________________
> >>> gnucash-devel mailing list
> >>> gnucash-devel at gnucash.org
> >>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> >> 
> >> _______________________________________________
> >> gnucash-devel mailing list
> >> gnucash-devel at gnucash.org
> >> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> 
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel






More information about the gnucash-devel mailing list