Get Can't find symbol 'make-update-deriver' when trying to run example on Windows 11
maacl opened this issue · comments
CARP_DIR is set. I get a REPL when running carp
.
carp vector.carp -x
Can't find symbol 'make-update-deriver' at C:/Users/marti/tmp/Carp/examples/derive.carp:2:3.
Traceback:
(load-once "Derive.carp") at C:/Users/marti/tmp/Carp/core/Core.carp:25:1.
Thanks for the bug report!
Is it possible that you are in the examples directory? If so, the problem is that one of the examples is called derive.carp
, shadowing the standard library file Derive.carp
. If you try to run it from the parent directory, for example, it should run.
NB: Ideally we could resolve this issue by making core files take precedence, but I suppose users couldn’t overwrite those then, making it a bit of a double-edged sword.
That is where I am. Works from the parent dir, but now I am getting the below:
carp examples\benchmark_mandelbrot.carp -x
Can't find symbol 'defdynamic-once' at C:/Users/marti/AppData/Roaming/carp/profile.carp:1:2.
profile.carp is:
(defdynamic-once sdl-windows-header-path "C:\\msys64\mingw64\include\SDL2\\")
(defdynamic-once sdl-windows-library-path "C:\\msys64\mingw64\bin\\")
Hello, sorry about the late answer!
Indeed, defdynamic-once
is defined after profile.carp
is loaded. defdynamic
should work.
Your profile file is indeed the first thing that is loaded, before any core libraries, so you can change things as early as possible. defdynamic-once
on the other hand is a macro defined in the core libraries.
I set it per instructions here.
Ah yes, thanks for the heads-up. I will clarify the comment to say that you should use defdynamic
instead to set them.
Check, I am on gitter now.