trunk r21710 fails at launch during report loading

Geert Janssens janssens-geert at telenet.be
Sun Dec 18 15:28:48 EST 2011


On 17-12-11 20:52, David Reiser wrote:
> --
> David Reiser
> dbreiser at earthlink.net
>
>
>
>
> On Dec 17, 2011, at 7:16 AM, Geert Janssens wrote:
>
>> On 13-12-11 07:52, David Reiser wrote:
>>> Turns out I got it right in the original post:
>>>
>>> [01:45:46] dbr at DOPL6: gnucash $git bisect bad
>>> 5f0f67f2d06605b30350a5b38ca0484ae21c49f9 is the first bad commit
>>> commit 5f0f67f2d06605b30350a5b38ca0484ae21c49f9
>>> Author: Geert Janssens<janssens-geert at telenet.be>
>>> Date:   Sun Nov 20 09:33:38 2011 +0000
>>>
>>>      Move eguile balance report to business-reports as it depends on business
>>>      utils.
>>>      This is a source code move, the report will remain in the same menu location
>>>      in the GUI
>>>      BP
>>>
>>>      git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21591 57a11ea4-9604-0410-9ed3-97b8803252fd
>>>
>>> :040000 040000 5b00ef9a1e5a7760616206a95eecfad25ecc0b1c 3818a01196e7c6b0e3bf9f40f3ad623defa5a8d2 M	src
>>>
>>> I did one other bisect manually in gnucash a few years ago when my machine took 35 minutes per build. Now it only takes 6, so it's a lot less painful. Bisect automates one of the most irritating parts for me -- keeping track of where I am, so it was worth it to go to git. I did have some adventures along the way.:)
>> I have verified the code. It should work fine on a clean install (meaning the complete installation directory removed).
>>
>> The error you get suggests that the old balsheet-eg.scm file is still in the standard-reports installation directory. The standard reports are loaded by listing all scm files in that directory.
>>
>> Can you check if the balsheet-eg.* files are still in your standard-reports installation directory ? This directory should be at
>> <$prefix>/share/gnucash/guile-modules/gnucash/report/standard-reports/
>>
>> If not and you still have this problem, can you
>> 1. add this snippet
>>
>> (gnc:debug "stdrpt-dir=" (gnc-path-get-stdreportsdir))
>>
>> on line 120 of standard-reports.scm. You can do this either directly in the installation directory
>> <$prefix>/share/gnucash/guile-modules/gnucash/report/standard-reports.scm
>> or in the source file, but in this case you should run make&&  make install also
>>
>> 2. run gnucash with "gnucash --log "gnc.scm=debug"
>>
>> 3. post the first few lines of gnucash.trace here. I'm mostly interested in what it prints for stdrpt-dir and dir-files.
>>
>> Geert
> My 2.4 install is interfering with running trunk. With my 2.4 build installed (in a directory that is in my typical path) when I launch an install of trunk (outside my normal PATH) I get:
>
> * 14:39:46 DEBUG<gnc.scm>  stdrpt-dir=/sw/share/gnucash/guile-modules/gnucash/report/standard-reports
> * 14:39:47 DEBUG<gnc.scm>  dir-files=(trial-balance.scm transaction.scm sx-summary.scm register.scm price-scatter.scm portfolio.scm net-barchart.scm income-statement.scm general-ledger.scm general-journal.scm equity-statement.scm daily-reports.scm category-barchart.scm cash-flow.scm budget.scm budget-income-statement.scm budget-flow.scm budget-barchart.scm budget-balance-sheet.scm balsheet-eg.scm balance-sheet.scm average-balance.scm advanced-portfolio.scm account-summary.scm account-piecharts.scm)
>
> If I remove my 2.4 install and launch the same trunk build, I get:
>
> * 14:43:42 DEBUG<gnc.scm>  stdrpt-dir=/opt/gnucash-svn/share/gnucash/guile-modules/gnucash/report/standard-reports
> * 14:43:42 DEBUG<gnc.scm>  dir-files=(trial-balance.scm transaction.scm sx-summary.scm register.scm price-scatter.scm portfolio.scm net-barchart.scm income-statement.scm general-ledger.scm general-journal.scm equity-statement.scm daily-reports.scm category-barchart.scm cash-flow.scm budget.scm budget-income-statement.scm budget-flow.scm budget-barchart.scm budget-balance-sheet.scm balance-sheet.scm average-balance.scm advanced-portfolio.scm account-summary.scm account-piecharts.scm)
>
> Nothing in /opt is in my PATH usually.
>
> Is there a way to get guile/scheme to look in $prefix first?
Guile is actually looking in $prefix, it's the (C-)code that has to find 
the standard reports directory that is misbehaving. This C-code 
(gnc_get_stdreports_dir in gnc_path.c) somehow returns a path to your 
installed gnucash 2.4, instead of your trunk build in /opt.

I'm afraid I have no idea why that is. It's not happening on linux, but 
seems to be an OS X thing. Perhaps the OS X specific binreloc code is 
not acting as it should, or the gnucash launcher script does the wrong 
checks ?

Geert


More information about the gnucash-devel mailing list