[GNC] Balsheet-eg.scm problem
Geert Janssens
geert.gnucash at kobaltwit.be
Thu Aug 23 12:44:12 EDT 2018
Op donderdag 23 augustus 2018 15:17:34 CEST schreef Derek Atkins:
> Hi,
>
> "Stephen M. Butler" <kg7je at arrl.net> writes:
> > I tripped over a few more typos that seemingly were unrelated to the
> > errors produced.
> >
> > I can get this set of files to work usurping the balsheet-eg.scm
> > report. If I change that back to balsheet-fmtd.scm (and fix the name
> > dependencies in the file), it isn't seen by GNC.
> >
> > Moving the files down to standard-reports throws other errors that I
> > can't figure out. So, what has to happen to get the report to load
> > independent of balsheet-eg?
>
> [snip]
>
> >>>> 3068: 9 [try-module-autoload (gnucash report business-reports) #f]
> >>>> 2404: 8 [save-module-excursion #<procedure 55a8a488cc90 at
> >>>> ice-9/boot-9.scm:3069:17 ()>]
> >>>> 3088: 7 [#<procedure 55a8a488cc90 at ice-9/boot-9.scm:3069:17 ()>]
> >>>> In unknown file:
> >>>> ?: 6 [primitive-load-path "gnucash/report/business-reports" ...]
> >>>> In business-reports.scm:
> >>>> 123: 5 [#<procedure 55a8a470a7c0 ()>]
> >>>> In ice-9/boot-9.scm:
> >>>> 3589: 4 [process-use-modules (((gnucash report balsheet-eg)))]
> >>>> 705: 3 [map #<procedure 55a8a3761d40 at ice-9/boot-9.scm:3589:25
> >>>> (mif-args)> ((#))]
> >>>> 3590: 2 [#<procedure 55a8a3761d40 at ice-9/boot-9.scm:3589:25
> >>>> (mif-args)> (#)]
> >>>> 2870: 1 [resolve-interface (gnucash report balsheet-eg) #:select ...]
> >>>> In unknown file:
> >>>> ?: 0 [scm-error misc-error #f ...]
> >>>>
> >>>> ERROR: In procedure scm-error:
> >>>> ERROR: no code for module (gnucash report balsheet-eg)
>
> Basically, the issue being reported is that it is trying to find "gnucash
> report balsheet-eg" but it can't. WHY it thinks there is "no code for
> module" is a different question. One possibility is caching -- you
> should definitely clear your guile cache. You can also "touch" the .scm
> files to make them look newer so they get recompiled.
>
> I was under the impression that all the files in standard-reports get
> auto-loaded.So just pulling a new report in there should be
> sufficient.
That is correct. However Stephen has put his customized balsheet-fmtd.scm
report in
/usr/local/share/gnucash/scm/gnucash/report
instead of
/usr/local/share/gnucash/scm/gnucash/report/standard-reports
Files in the former directory are not automatically loaded, a historical
artifact we should one day fix.
> HOWEVER the e-guile reports MIGHT be different.
What is different about the e-guile reports is that they are business reports.
And contrary to the standard reports they are only loaded if explicitly
mentioned in
/usr/local/share/gnucash/scm/gnucash/report/business-reports.scm
(in a use-modules construct).
>
> Also, ensure the file name and path matches the module name.
>
This is the problem IMO. The attached balsheet-fmtd.scm (renamed to balsheet-
eg.scm) defines this module:
(define-module (gnucash report balsheet-fmtd))
As this file replaces balsheet-eg.scm there no longer is a module defined by
(define-module (gnucash report balsheet-eg))
And hence gnucash complains it can't find that one.
To solve this, restore the original balsheet-eg.scm and instead add a line in
business-reports.scm like this:
(use-modules (gnucash report balsheet-fmtd))
Better still: don't mess with the installation directory at all and instead
follow
https://wiki.gnucash.org/wiki/Custom_Reports#Loading_Your_Report
to load your custom report.
Regards,
Geert
More information about the gnucash-user
mailing list