Build-related Functions in the C package don't exist
I've been trying to create an executable with ASDF but ECL gives an error saying that C:BUILDER isn't exported from C. A similar error occurs when I try to manually build an executable with C:BUILD-PROGRAM (following the steps in the guide).
My ASDF definition:
(asdf:defsystem "wombat"
:description "ASDF test system"
:version "0.0.0"
:author "Oliver C. Delancey"
:license "MIT"
:build-operation "program-op"
:build-pathname "wombat"
:entry-point "wombat:main"
:serial t
:components ((:file "package")
(:file "wombat")))
My program code (apologies for the silly naming, I use this project as a litmus test for a functional Lisp development environment):
(in-package #:wombat)
(defun main ()
(format t "The wombat has landed.~%"))
The error when trying to create an executable with ASDF:
> (asdf:make :wombat)
Condition of type: UNDEFINED-FUNCTION
The function C::BUILDER is undefined.
Available restarts:
1. (RETRY) Retry PROGRAM-OP on #<system "wombat">.
2. (ACCEPT) Continue, treating PROGRAM-OP on #<system "wombat"> as having been successful.
3. (RETRY) Retry ASDF operation.
4. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
5. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (ASDF/OPERATE:MAKE :WOMBAT)] In: #<process TOP-LEVEL 0x180097e0f30>.
The error when trying to build an executable according to the guide:
> (c:build-program "wombat" :lisp-files '("package.o" "wombat.o"))
Condition of type: SIMPLE-READER-ERROR
Reader error in file #<i/o win32 console stream "stdin" 0x1ba0e826d20>, position NIL:
Cannot find the external symbol BUILD-PROGRAM in #<"C" package>.
Available restarts:
1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (SI:TOP-LEVEL T)] In: #<process TOP-LEVEL 0x1ba0e640f30>.
ECL details:
VERSION "21.2.1"
VCS-ID "b3d1a3e3436ccc435d4a479daf1fc93a0f0d0880"
OS "NT"
OS-VERSION "5.0"
MACHINE-TYPE "AMD64"
FEATURES (:QUICKLISP :ASDF-PACKAGE-SYSTEM :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-WINDOWS :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :WALKER :ECL-BYTECMP :CDR-6 :CDR-1 :CDR-5 :WIN32 :FORMATTER ...)
For other details, I built ECL with Visual Studio 2019 tools according to the guide with NMAKE flags GMP_TYPE=amd64
and ECL_WIN64=1
.