[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile-vm .go files in GUILE_LOAD_PATH
From: |
Andy Wingo |
Subject: |
Re: guile-vm .go files in GUILE_LOAD_PATH |
Date: |
Thu, 18 Sep 2008 20:40:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Hi,
On Thu 18 Sep 2008 00:57, <address@hidden> writes:
> Basically, a .go file will be preferred over a .scm file even if the
> .scm file is earlier in the load-path. I think that the file earlier
> in the load-path should win.
A few thoughts:
(1) Guile shouldn't have installed paths (its system paths) in its path
when running uninstalled, otherwise you can get strange issues like
you saw -- it's not limited to .go files, it could be .scm as well
(2) I can imagine cases in which you would want compiled files not in
the same location as source; e.g. /usr/lib64/guile/ vs
/usr/share/guile/; although currently .go files are not
platform-dependent (I don't think)
(3) Currently there is no linkage between the absolute directory of the
.scm file and the .go file, neither in the compilation nor in the
loading; but there is a linking with the relative path if you use
primitive-load-path
(4) We already check to make sure that the .go file is newer than the
.scm file
I would suggest that the current way is sufficient, if we disable
loading from the installed paths when running pre-inst-guile; because I
kinda want to allow (2), but I don't want to deal with ordering issues
within %load-path of "compiled locations" versus "source locations".
Sorry about your bug, I know it was a bit painful. But you would not
have had it if guile were operating correctly in the first place,
regardless of the .go vs .scm issue.
We certainly need to have a better story regarding versioning, so we
don't load incompatible .go files.
Andy
--
http://wingolog.org/