Neil Jerram <n...@ossau.uklinux.net> writes: > Aha... Time for strace then, which includes: > > open("/home/neil/SW/Guile/master/module/srfi/srfi-1.scm", > O_RDONLY|O_LARGEFILE) = 10 > open("/usr/local/lib/libguile-srfi-srfi-1-v-4.la", O_RDONLY) = 11 > open("/usr/local/lib/libguile-srfi-srfi-1-v-4.so.4", O_RDONLY) = 11 > open("/usr/local/lib/libguile.so.18", O_RDONLY) = 11 > > even though the real libguile was loaded well before then: > > open("/home/neil/SW/Guile/master/libguile/.libs/libguile-2.0.so.18", > O_RDONLY) = 3 > > So the problem appears to be srfi-1.scm picking up something old from > /usr/local/lib. I'll dig deeper.
Hmm. I'm now suspecting a build order issue, which is masked if you happen to have been building Guile regularly recently and so have a similar enough libguile in /usr/local/lib. If I hide everything I have installed in /usr/local/lib (by renaming lib to libx), and then build again from scratch, then the error is: GEN guile-procedures.texi guile: uncaught throw to misc-error: (dynamic-link file: ~S, message: ~S (libguile-srfi-srfi-1-v-4 file not found) #f) which makes sense because the build is still building everything in the "libguile" directory and hasn't got to the "srfi" directory yet. So my hypothesis now is: - some change in the last few months has introduced a dependency of Guile script startup (specifically including the case where Guile is run to generate guile-procedures.texi) on srfi-1.scm - this makes the build impossible! - for regular developers, this may be masked by having a libguile.so and libguile-srfi-srfi-13-14-v-4.so in /usr/lib or /usr/local/lib that are recent enough to work. Can anyone else build current git from scratch if they first hide or delete any guile libraries in /usr/lib and /usr/local/lib? Neil