On Mar 2, 2010, at 1:25 PM, Christian Stimming wrote: > Am Sonntag, 21. Februar 2010 schrieb John Ralls: >> Gnucash trunk won't build with Guile 1.8.7 (the current release): >>> Making all in engine >>> chmod u+x ./iso-currencies-to-c >>> GUILE_LOAD_PATH=../../lib/: srcdir=. ./iso-currencies-to-c >>> ERROR: Loaded gnucash srfi-2.scm in unknown Guile version:1.8.7. >>> If you're running a Guile newer than 1.4, then this file should >>> not have been installed. Please report the bug. >> >> The problem is in src/engine/iso-currencies-to-c, which is a scheme file >> whose first line is: (use-modules (srfi srfi-2)) >> >> Removing that line (so that srfi-2 isn't invoked) causes the following >> error: ERROR: Unbound variable: and-let* > > I've modified the file so that srfi-2 isn't needed anymore. Hope this helps.
Well, that was more a symptom than the cause in this case. The problem was multipart: First, that the srfis provided by Gnucash are hoary antiques (as indicated by the error message above); second, that the section in configure that tests for them is rather all-or-nothing, so if it fails on any, it will cause guile to retrieve ours before getting the ones it provides; and third, (fixing of which solved the problem for me) guile-1.8 creates a loadable module for srfi-1 and uses lt_dlopen to load it. It turns out that lt_dlopen on OSX needs its own path variable, LTDL_LIBRARY_PATH. Once I set that, guile's srfi-1 was detected along with the rest, our srfis weren't put on the path, and all was well. I think that the best solution is to just get rid of the srfi test and lib/srfi -- but someone needs to make sure that the srfis that come with guile-1.6.0 (the minimum allowed by configure) are good enough. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel