Jan Nieuwenhuizen <jann...@gnu.org> skribis: > in contrast, setting GUILE_LOAD_*PATH to the wrong place makes Guile > barf trying to load eval.* or boot-9.*.
There’s also ‘GUILE_SYSTEM_COMPILED_PATH’ and ‘GUILE_SYSTEM_PATH’. > Also, guix by default sets GUILE_LOAD_PATH and > GUILE_LOAD_COMPILED_PATH, thus "ensuring" that different guile major > versions will fail to boot. > > Do we want Guile to look at environment variables to find its core > libraries? > > * Python has magic numbers and skip/recompiles if a .py[oc] does > not match > > This resembles what Ludovic suggested and what I have submitted a patch > for, to skip invalid .go files. I think core libraries are not specifically the problem. The problem is that Guile can stumble upon incompatible .go files because ‘GUILE_LOAD_COMPILED_PATH’ is honored by both 2.0 and 2.2. So I think the possible solutions are: 1. Have 2.2 honor only GUILE_2_2_LOAD_COMPILED_PATH. Obviously not realistic. 2. Have Guile automatically append “/2.2” (or “/2.0”, etc.) to the GUILE_LOAD_COMPILED_PATH entries. Would be nice, but too late. 3. Change both 2.0 and 2.2 to skip invalid/incompatible .go files. Sounds like the only viable solution. Thoughts? Ludo’.