I attempting to use ECL to create a .o file with the intention of using its feature of compiling to C however I am receiving an error when trying to build a program as the documentation lists.
I am running:
(c:build-program "CompiledFile" "hello.lisp")
An receiving the error:
Debugger received error of type: SIMPLE-ERROR
Cannot find the external symbol BUILD-PROGRAM in #<"C" package>.
Error flushed.
>> "CompiledFile"
>> "hello.lisp"
>> ;;; Warning: Ignoring an unmatched right parenthesis.
The contents of hello.lisp are as follows:
(defun say-hello ()
(print "Hello, world"))
(say-hello)
(terpri)
(quit)
I am following the documentation found here https://common-lisp.net/project/ecl/static/manual/ch34s03.html and it has the function definition as:
c:build-program {image-name &key lisp-files ld-flags prologue-code epilogue-code}
hello.lisp
are irrelevant, it's complaining thatc:build-program
doesn't exist. – Tierc::build-program
in case it's not exported for some reason. – TierCondition of type: UNDEFINED-FUNCTION The function C::BUILD-PROGRAM is undefined. Available restarts: 1. (RESTART-TOPLEVEL) Go back to Top-Level REPL. Broken at SI:BYTECODES. [Evaluation of: (C::BUILD-PROGRAM "CompiledFile" "hello.lisp")] In: #<process TOP-LEVEL>.
– Ryter