On 17-12-11 20:52, David Reiser wrote:
--
David Reiser
[email protected]




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@DOPL6: gnucash $git bisect bad
5f0f67f2d06605b30350a5b38ca0484ae21c49f9 is the first bad commit
commit 5f0f67f2d06605b30350a5b38ca0484ae21c49f9
Author: Geert Janssens<[email protected]>
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
_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to