[Larceny-users] r6rs and err5rs libraries in custom location (larceny-5896)

William D Clinger will at ccs.neu.edu
Sun Jan 11 14:40:57 EST 2009


Marco Maggi wrote:

> But running:
>
> $ larceny -err5rs
>
> immediately prints:
>
> Error: Could not locate library: r6rsmode

That means the require procedure could not find the
R5RS library named r6rsmode.

> If I put
> the whole traditional installation under
> "/opt/larceny/last" and set the PATH correctly
> I can run the ERR5RS REPL as usual.

That's because the traditional installation sets
the require path correctly.

> Trying:
>
> /usr/local/libexec/larceny/0.98/larceny \
> -path /usr/local/lib/larceny/0.98 -err5rs
>
> I get the same error about "r6rsmode"
> missing.  But I can see the library in:
>
> /usr/local/lib/larceny/0.98/lib/R6RS/r6rsmode.sch
>
> and the FASL file is there, too.

True, but r6rsmode is not an ERR5RS/R6RS library, 
so neither the LARCENY_LIBPATH nor -path option
are relevant.  Because r6rsmode is an R5RS library
and is loaded using require rather than import, the
require path must be set up so require can find the
r6rsmode library (and the libraries that it requires)
using Larceny's R5RS-mode require path.

If you change the relationship between Larceny's root
directory and its lib/R6RS directory, then you will
have to make a corresponding change to the startup.sch
file in Larceny's root directory.  By the way, omitting
startup.sch from Larceny's root directory is another
possible cause of the symptoms you have described.

Will



More information about the Larceny-users mailing list