[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