Differences Between ECL Executable and Embedded ECL

Binh Nguyen nguyen1024 at gmail.com
Wed Mar 22 12:55:20 UTC 2023


Dear ECL Community,

Could you let me know how to do the following, please?

- How to load file "quicklisp.lisp" in an embedded instance of ECL
- How to make the function REQUIRE available in an embedded instance of ECL
- How to load ASDF 3 or newer in an embedded instance of ECL

I am able to load file "quicklisp.lisp" when I run "/usr/local/ecl.exe".

I saw that there is an "ecl-quicklisp.lisp" but I'd like to learn how to
load non-ECL Quicklisp.

I am running ECL 21.2.1. that I compiled with MSYS MinGW x86.

The first error that comes up is that the function REQUIRE is not available.

> (load "quicklisp.lisp")


> ;;; Loading "C:/msys64/home/Admin/quicklisp.lisp"

Debugger received error of type: SIMPLE-ERROR

Module error: Don't know how to REQUIRE SOCKETS.

Error flushed.


So I manually loaded SOCKETS.

> (load #P"C:/msys64/usr/local/sockets.fas")


> ;;; Loading "C:/msys64/usr/local/sockets.fas"

#P"C:/msys64/usr/local/sockets.fas"


Then I tried again and I was able to progress further.

>  (load "quicklisp.lisp")


> ;;; Loading "C:/msys64/home/Admin/quicklisp.lisp"


>   ==== quicklisp quickstart 2015-01-28 loaded ====


>     To continue with installation, evaluate: (quicklisp-quickstart:install)


>     For installation options, evaluate: (quicklisp-quickstart:help)


> #P"C:/msys64/home/Admin/quicklisp.lisp"

> (quicklisp-quickstart:install)


> Debugger received error of type: SIMPLE-ERROR

Quicklisp has already been installed. Load
> #P"C:/msys64/home/Admin/quicklisp/setup.lisp" instead.

Error flushed.


Bu the following error appeared that I don't know how to solve.

> (load #P"C:/msys64/home/Admin/quicklisp/setup.lisp")


> ;;; Loading "C:/msys64/home/Admin/quicklisp/setup.lisp"

Debugger received error of type: SIMPLE-ERROR

Could not load ASDF "3.0" or newer

Error flushed.


I tried loading the other ".fas" files in "/usr/local"  such as "asdf.fas"
but that did not help.

I checked the *features* variable in both versions but they were the same.

$ ./a.exe

...

Condition of type: INTERACTIVE-INTERRUPT

Console interrupt.

Available restarts:


> 1. (CONTINUE) CONTINUE

...

> (print-list *features*)
> (WALKER
> ECL-BYTECMP CDR-1 CDR-5 FORMATTER CDR-7 WSOCK ECL-WEAK-HASH LITTLE-ENDIAN LONG-LONG UINT64-T UINT32-T UINT16-T COMPLEX-FLOAT LONG-FLOAT UNICODE DFFI CLOS-STREAMS CMU-FORMAT WINDOWS WIN32 MINGW32 ECL-PDE DLOPEN CLOS THREADS BOEHM-GC ANSI-CL COMMON-LISP IEEE-FLOATING-POINT PACKAGE-LOCAL-NICKNAMES CDR-14 PREFIXED-API FFI I686 COMMON ECL)
>

$ /usr/local/ecl.exe
> ...
> > (print-list *features*)
> (WALKER ECL-BYTECMP CDR-1 CDR-5 FORMATTER CDR-7 WSOCK ECL-WEAK-HASH
>  LITTLE-ENDIAN LONG-LONG UINT64-T UINT32-T UINT16-T COMPLEX-FLOAT
>  LONG-FLOAT UNICODE DFFI CLOS-STREAMS CMU-FORMAT WINDOWS WIN32 MINGW32
>  ECL-PDE DLOPEN CLOS THREADS BOEHM-GC ANSI-CL COMMON-LISP
>  IEEE-FLOATING-POINT PACKAGE-LOCAL-NICKNAMES CDR-14 PREFIXED-API FFI I686
>  COMMON ECL)
>

Best regards,

Binh Nguyen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20230322/ee2456c5/attachment.html>


More information about the ecl-devel mailing list