Discussion:
[Larceny-users] err5rs mode undefined global variable primitives in Larceny 0.97
Patrick Pippen
2011-01-14 17:10:18 UTC
Permalink
When I built larceny everything built smoothly and I built err5rs and
r6rs mode like this.
as mention in the documentation files that came with Larceny's source.
(require 'r6rsmode)
(larceny:compile-r6rs-runtime)
(exit)
But running larceny -err5rs gives errors as showed below, how can I fix this?
$ larceny -err5rs
Larceny v0.97 "Funny in the Head" (Jan 9 2011 22:46:26, precise:Linux:unified)
larceny.heap, built on Sun Jan 9 23:27:11 CST 2011
WARNING from macro expander:
Syntactic keyword used as a variable
begin
WARNING from macro expander:
Syntactic keyword used as a variable
if
WARNING from macro expander:
Syntactic keyword used as a variable
lambda
WARNING from macro expander:
Syntactic keyword used as a variable
quote
WARNING from macro expander:
Syntactic keyword used as a variable
set!
WARNING from macro expander:
Syntactic keyword used as a variable
and
WARNING from macro expander:
Syntactic keyword used as a variable
or
WARNING from macro expander:
Syntactic keyword used as a variable
define
WARNING from macro expander:
Syntactic keyword used as a variable
define-syntax
WARNING from macro expander:
Syntactic keyword used as a variable
let-syntax
WARNING from macro expander:
Syntactic keyword used as a variable
letrec-syntax
WARNING from macro expander:
Syntactic keyword used as a variable
begin
WARNING from macro expander:
Syntactic keyword used as a variable
if
WARNING from macro expander:
Syntactic keyword used as a variable
set!
WARNING from macro expander:
Syntactic keyword used as a variable
and
WARNING from macro expander:
Syntactic keyword used as a variable
or
WARNING from macro expander:
Syntactic keyword used as a variable
lambda
WARNING from macro expander:
Syntactic keyword used as a variable
quote
WARNING from macro expander:
Syntactic keyword used as a variable
define
WARNING from macro expander:
Syntactic keyword used as a variable
define-syntax
WARNING from macro expander:
Syntactic keyword used as a variable
let-syntax
WARNING from macro expander:
Syntactic keyword used as a variable
letrec-syntax


Error: Undefined global variable "primitives".
Entering debugger; type "?" for help.
debug> q
Error while loading src/Build/iasn-larceny-heap.fasl
larceny.heap, built on Sun Jan 9 23:27:11 CST 2011
William D Clinger
2011-01-14 22:44:53 UTC
Permalink
Post by Patrick Pippen
When I built larceny everything built smoothly and I built err5rs and
r6rs mode like this.
as mention in the documentation files that came with Larceny's source.
(require 'r6rsmode)
(larceny:compile-r6rs-runtime)
(exit)
But running larceny -err5rs gives errors as showed below, how can I fix this?
$ larceny -err5rs
Larceny v0.97 "Funny in the Head" (Jan 9 2011 22:46:26, precise:Linux:unified)
larceny.heap, built on Sun Jan 9 23:27:11 CST 2011
Syntactic keyword used as a variable
begin
Syntactic keyword used as a variable
if
[snip]

That output usually indicates that Larceny's R6RS mode wasn't
built properly, but you showed the correct steps for that build.
I'd wonder whether there's a problem with your execution path
or file permissions.

In any case, I'd suggest you start over with a clean download
of binary Larceny. On Linux, that clean download should run
in ERR5RS and R6RS modes just as soon as you unpack the gzip'ed
tar file, without having to recompile Larceny's R6RS mode.

If Larceny's ERR5RS mode runs okay in the clean download, but
doesn't work after you recompile Larceny's R6RS mode as above,
then I'd like to know all of the steps you took, starting with
the download. I'd also want to know which version of Linux
you're running, just in case that turns out to be relevant.

One last thing: If you're building Larceny from source code,
please let us know all of the steps you took for that build
also. There's more room for error when building from source
code; in particular, rebuilding the original Larceny's R6RS
mode doesn't rebuild the newly compiled Larceny's R6RS mode,
and vice versa.

Will
Patrick Pippen
2011-01-15 05:38:37 UTC
Permalink
Larceny binary on Slackware Gnu/Linux 13.1

bash-4.1$ ./larceny-0.97-bin-native-ia32-linux86/larceny.bin
Larceny v0.97 "Funny in the Head" (Aug 19 2009 06:31:24, precise:Linux:unified)
Okay everythings seems okay let's try to get in err5rs-mode now.
Larceny's err5s mode from binary.
bash-4.1$ ./larceny-0.97-bin-native-ia32-linux86/larceny.bin -err5rs
Larceny v0.97 "Funny in the Head" (Aug 19 2009 06:31:24, precise:Linux:unified)

Error: Reference to undefined global variable "runtime-safety-checking".
bash-4.1$

OS: Slackware Linux 13.1 (Linux version 2.6.33.4)

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/qt/bin:/usr/share/texmf/bin:.

bash-4.1$ ls -al build/packages/larceny/larceny-0.97-bin-native-ia32-linux86/larceny.bin
-rwxr-xr-x 1 bitweiler users 219320 2009-08-19 16:36 build/packages/larceny/larceny-0.97-bin-native-ia32-linux86/larceny.bin
w***@ccs.neu.edu
2011-01-16 03:21:58 UTC
Permalink
Post by Patrick Pippen
bash-4.1$ ./larceny-0.97-bin-native-ia32-linux86/larceny.bin
Larceny v0.97 "Funny in the Head" (Aug 19 2009 06:31:24, precise:Linux:unified)
Aha. Instead of running larceny.bin, you should be invoking
Larceny like this:

./larceny-0.97-bin-native-ia32-linux86/larceny

See the last sentence in

http://larceny.ccs.neu.edu/doc/user-manual-alt.html#InstallationSection
Post by Patrick Pippen
Okay everythings seems okay let's try to get in err5rs-mode now.
Larceny's err5s mode from binary.
bash-4.1$ ./larceny-0.97-bin-native-ia32-linux86/larceny.bin -err5rs
Larceny v0.97 "Funny in the Head" (Aug 19 2009 06:31:24, precise:Linux:unified)
Error: Reference to undefined global variable "runtime-safety-checking".
Try

./larceny-0.97-bin-native-ia32-linux86/larceny -err5rs

instead.

Will

Loading...