[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)


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

 (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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]