I've slightly developed the simple Black Hole test in the previous email. Here are the files I'm using:
- module1.scm (define (hello) (print "Hello") (newline)) (hello)
- module2.scm (define (world) (print "World") (newline)) (world)
- test.scm (import module1) (import module2) (hello) (world) (print "All Done!") (newline)
Here's what happens when I build and then try to run the executable:
simple-test # ls -l total 24 -rw-r--r--@ 1 benjohn benjohn 51 7 Jun 16:27 module1.scm -rw-r--r--@ 1 benjohn benjohn 51 7 Jun 16:28 module2.scm -rw-r--r--@ 1 benjohn benjohn 80 7 Jun 16:29 test.scm simple-test # bsc -exe test.scm Loaded Black Hole. Hello World *** WARNING -- "module1#hello" is not defined, *** referenced in: ("/Users/benjohn/Code/gambit/simple-test/test.c") *** WARNING -- "module2#world" is not defined, *** referenced in: ("/Users/benjohn/Code/gambit/simple-test/test.c") simple-test # ./test *** ERROR IN | test| -- Operator is not a PROCEDURE (#!unbound) simple-test #
So, I suppose I have two questions – should I expect to get these "not defined" error on symbols that are in other projects, and why doesn't the executable work? (it's the same error that I get with the executable from the openGL test project in the earlier email after the second invocation of bsc) :-)
Thanks, Benjohn