trunk r21710 fails at launch during report loading

John Ralls jralls at ceridwen.us
Sun Dec 18 17:04:05 EST 2011


On Dec 18, 2011, at 12:28 PM, Geert Janssens wrote:

> 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 ?
> 

David's using Fink, which builds a Linux-like X11 installation. It won't use any of the mac customization code.

Fink also stuffs the user's environment with its own path variables. That's likely the source of the problem.

Regards,
John Ralls





More information about the gnucash-devel mailing list