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

Reply via email to