[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix hanging of popen.test
From: |
Neil Jerram |
Subject: |
Re: [PATCH] Fix hanging of popen.test |
Date: |
Wed, 30 Jun 2010 23:50:00 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Neil Jerram <address@hidden> 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