On 9/28/05, Kon Lovett <[EMAIL PROTECTED]> wrote: > > 1) The "Warning: library unit `stack' compiled in dynamic mode" msg; > why? The .setup states '-s' in the compile stmt.
You declare a "unit" in stack-support, which means: this is a separately loadable/linkable entity with a distinctly labeled toplevel procedure, and thus can be linked statically. Removing the `(declare (unit ...))' declaration makes it a dynamically loadable entity with a normal (default-named) toplevel procedure, loadable via `load' or `require'. `(declare (unit ...))' and -s can in certain situations be usable (for example when you are creating a library containing several units), but usually does the wrong thing (hence the warning). > > 2) What unbound variable? > The unbound variable is weird, though, but has a reason: the runtime system tries to load a .so with the given name, but fails (probably it fails to link at runtime for some reason). If the loading of a .so fails, chicken attempts to load it as Scheme source code, which nearly always results in what you are experiencing above. Normally, it should load stack-support.so, do you have a stack_ext_1.so lying around in your working directory? Removing the 'uses' declaration from stack-support.scm and changing the 'use' in stack.scm to refer to stack-support fixed the problem. cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
