> On Feb 17, 2026, at 7:42 AM, Alexey Egorov via Chicken-users 
> <[email protected]> wrote:
> 
> Oh, that's why. Thank you very much, now I see.
> 
> Also, I found an issue with my original example: I forgot to add -uses
> module to main.o compilation. When I added it it also started to work.
> So I failed to properly link my compiled code, and instead import
> tried to load the source file.
> 
> I should remember that -:d flag. By the way, how does one learn about
> it? Are there any other flags?
> Csc and Chicken man pages don't seem to mention it.

https://wiki.call-cc.org/man/5/Using%20the%20compiler#runtime-options

> 
> On Tue, Feb 17, 2026 at 4:55 PM Peter Bex <[email protected]> wrote:
>> 
>> On Tue, Feb 17, 2026 at 02:57:43PM +0300, Alexey Egorov via Chicken-users 
>> wrote:
>>> ./test
>>> 
>>> Result:
>>> Error: Module `module' has unresolved identifiers
>> 
>> Try running it with -:d, like so:
>> 
>> ./test -:d
>> 
>> Then you'll notice it emits the following line:
>> 
>> ; loading ./module.scm ...
>> 
>> The reason is that it will try to load module.so at runtime, and failing
>> that, it will fall back to trying to load module.scm.  And the default
>> prefix style applies there.  To change that you'd have to set the
>> keyword-style parameter yourself at runtime.
>> 
>> If you want to compile statically, you will have to avoid loading the
>> module dynamically.
>> 
>> Compile it like this:
>> 
>> csc -static -o test main.o module.o
>> 
>> and then it'll work.
>> 
>> Note that you only need to use -K prefix to compile module.scm, as the
>> prefix style only applies to the *reader*.
>> 
>> Cheers,
>> Peter
> 

Reply via email to