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

Reply via email to