<div dir="ltr">I've been working with MinGW for quite some time and I've sensed the unholiness as well.<div><br></div><div>Thank you for showing me how to ship specific modules with ECL!<br><div><br clear="all"><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr">Best regards,<div><br></div><div>Binh Nguyen</div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 23 Mar 2023 at 22:20, Daniel Kochmański <<a href="mailto:daniel@turtleware.eu" target="_blank">daniel@turtleware.eu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:Arial,sans-serif;font-size:14px">It seems that for mingw we do some unholy mashup between posix and window -specific options, that is we do a flat structure instead of a tree (/usr/loca/bin etc). In that case you are expected to ship all your modules in the same directory as the application (quite like with dll files when they are shipped with a program).</div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">Regarding shipping particular modules with ECL</div><div style="font-family:Arial,sans-serif;font-size:14px">./configure --with-asdf=builtin --with-tcp-sockets=builtin</div><div style="font-family:Arial,sans-serif;font-size:14px">should do the trick.</div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">Best regards,</div><div style="font-family:Arial,sans-serif;font-size:14px">Daniel<br></div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div>
<div style="font-family:Arial,sans-serif;font-size:14px">
    <div>
        <div>--<br></div><div>Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland<br></div><div>TurtleWare - Daniel Kochmański      | <a href="http://www.turtleware.eu" rel="noopener noreferrer" target="_blank">www.turtleware.eu</a><br></div><div><br></div><div>"Be the change that you wish to see in the world." - Mahatma Gandhi<br></div><div><br></div>
    </div>
    
            <div>
        
            </div>
</div>
<div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div>
        ------- Original Message -------<br>
        On Thursday, March 23rd, 2023 at 12:11 PM, Binh Nguyen <<a href="mailto:nguyen1024@gmail.com" target="_blank">nguyen1024@gmail.com</a>> wrote:<br><br>
        <blockquote type="cite">
            <div dir="ltr">Hi Daniel,<div><br></div><div>_| ̄|○ </div><div><br></div><div>Thank you for your reply! </div><div><br></div><div>Yep, I passed "--prefix=/usr/local/" to configure and then performed make install afterwards, as per the notes on Autoconf based configurations. </div><div>(<a href="https://ecl.common-lisp.dev/static/manual/Building-ECL.html#Building-ECL" rel="noreferrer nofollow noopener" target="_blank">https://ecl.common-lisp.dev/static/manual/Building-ECL.html#Building-ECL</a>)<br></div><div><br></div><div>I agree, I think there is something funny going on with my pathnames.</div><div><br></div><div>I compared the features variable and the list of packages in the ECL executable and my program and they were the same. So I had a hunch there something external was different. So I copied my executable to "/usr/local" to be with "ecl.exe", and I was able to call (require 'asdf).</div><div><br></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">$ /usr/local/a.exe</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">...</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">> (require 'asdf)</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><br></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">;;; Loading #P"C:/msys64/usr/local/asdf.fas"</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">("ASDF" "asdf" "UIOP" "uiop")</blockquote></div><div><br></div><div>When I my executable from my home directory, I was not able to call (require 'asdf).</div><div><br></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">> (require 'asdf)</font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace"><br></font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">Debugger received error of type: SIMPLE-ERROR</font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">Module error: Don't know how to REQUIRE ASDF.</font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">Error flushed.</font></blockquote></div><div><br></div><div>I tried loading ASDF with the directory but I got the following error.</div><div><br></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">> (load #P"C:/msys64/usr/local/asdf.fas")</font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace"><br></font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">;;; Loading "C:/msys64/usr/local/asdf.fas"<br></font><font face="monospace">Debugger received error of type: FILE-ERROR<br></font><font face="monospace">Filesystem error with pathname "SYS:help.doc".<br></font><font face="monospace">Either<br></font><font face="monospace"> 1) the file does not exist, or<br></font><font face="monospace"> 2) we are not allowed to access the file, or<br></font><font face="monospace"> 3) the pathname points to a broken symbolic link.<br></font><font face="monospace">Error flushed.</font></blockquote></div><div><br></div><div>So I copied "/usr/local/help.doc" to my home directory and then I was able to load ASDF.</div><div><br></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">> (load #P"C:/msys64/usr/local/asdf.fas")</font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace"><br></font></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><font face="monospace">#P"C:/msys64/usr/local/asdf.fas"</font></blockquote></div><div><br></div><div>After that, I was able to load SOCKETS ad Quicklisp.</div><div><br></div><div>I don't know how to specify that ASDF and SOCKETS are builtin but I'll look into it.</div><div><br></div><div>Thank you for your help and thank you for all your work on ECL.</div><div><br></div><div><div><div dir="ltr"><div dir="ltr">Best regards,<div><br></div><div>Binh Nguyen</div></div></div></div><br></div></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Thu, 23 Mar 2023 at 20:20, Daniel Kochmański <<a href="mailto:daniel@turtleware.eu" rel="noreferrer nofollow noopener" target="_blank">daniel@turtleware.eu</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div style="font-family:Arial,sans-serif;font-size:14px">Hey Binh,</div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">it is not that the function REQUIRE is not available, it is that it doesn't know /where/ to look for sockets.fas. I see that you have unix pathnames, so ecl should not expect the flat structure. Did you pass "--prefix=/usr/local/" to configure (or something in this spirit)? If so, did you perform make install afterwards? If so, then require should be able to find sockets.fas in /usr/local/lib/ecl/... , and if not - it can't find it. The same applies to the module "ASDF", so I think that having installation with known pathnames should fix all your issues on that front.</div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">Alternatively you may specify that ASDF and SOCKETS are builtin (see ./configure --help for details).</div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">As the last resort, if you want to push in the same direction you've already started - load ASDF.fas the same way you've loaded SOCKETS.fas (it should be in the same directory) - that will ensure ASDF 3.1.8.<br></div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div style="font-family:Arial,sans-serif;font-size:14px">Best regards,</div><div style="font-family:Arial,sans-serif;font-size:14px">Daniel<br></div><div style="font-family:Arial,sans-serif;font-size:14px"><br></div>
<div style="font-family:Arial,sans-serif;font-size:14px">
    <div>
        <div>--<br></div><div>Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland<br></div><div>TurtleWare - Daniel Kochmański      | <a rel="noreferrer nofollow noopener" href="http://www.turtleware.eu" target="_blank">www.turtleware.eu</a><br></div><div><br></div><div>"Be the change that you wish to see in the world." - Mahatma Gandhi<br></div><div><br></div>
    </div>

            <div>

            </div>
</div>
<div style="font-family:Arial,sans-serif;font-size:14px"><br></div><div>
        ------- Original Message -------<br>
        On Wednesday, March 22nd, 2023 at 1:55 PM, Binh Nguyen <<a href="mailto:nguyen1024@gmail.com" rel="noreferrer nofollow noopener" target="_blank">nguyen1024@gmail.com</a>> wrote:<br><br>
        <blockquote type="cite">
            <div dir="ltr">Dear ECL Community,<div><br></div><div>Could you let me know how to do the following, please?</div><div><br></div><div>- How to load file "quicklisp.lisp" in an embedded instance of ECL</div><div>- How to make the function REQUIRE available in an embedded instance of ECL</div><div>- How to load ASDF 3 or newer in an embedded instance of ECL</div><div><br></div><div>I am able to load file "quicklisp.lisp" when I run "/usr/local/ecl.exe".</div><div><br></div><div>I saw that there is an "ecl-quicklisp.lisp" but I'd like to learn how to load non-ECL Quicklisp.</div><div><br></div><div>I am running ECL 21.2.1. that I compiled with MSYS MinGW x86.</div><div><br></div><div>The first error that comes up is that the function REQUIRE is not available.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">> (load "quicklisp.lisp")</font></blockquote><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">;;; Loading "C:/msys64/home/Admin/quicklisp.lisp"</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Debugger received error of type: SIMPLE-ERROR</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Module error: Don't know how to REQUIRE SOCKETS.</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Error flushed.</font></blockquote></div><div><br></div><div>So I

manually

loaded SOCKETS.</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">> (load #P"C:/msys64/usr/local/sockets.fas")</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">;;; Loading "C:/msys64/usr/local/sockets.fas"</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">#P"C:/msys64/usr/local/sockets.fas"</font></blockquote></div><div><br></div><div>Then I tried again and I was able to progress further.</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">>  (load "quicklisp.lisp")</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">;;; Loading "C:/msys64/home/Admin/quicklisp.lisp"</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">  ==== quicklisp quickstart 2015-01-28 loaded ====</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">    To continue with installation, evaluate: (quicklisp-quickstart:install)</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">    For installation options, evaluate: (quicklisp-quickstart:help)</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">#P"C:/msys64/home/Admin/quicklisp.lisp"</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">> (quicklisp-quickstart:install)</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Debugger received error of type: SIMPLE-ERROR</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Quicklisp has already been installed. Load #P"C:/msys64/home/Admin/quicklisp/setup.lisp" instead.</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Error flushed.</font></blockquote><div> </div></div><div>Bu the following error appeared that I don't know how to solve.</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">> (load #P"C:/msys64/home/Admin/quicklisp/setup.lisp")</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">;;; Loading "C:/msys64/home/Admin/quicklisp/setup.lisp"</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Debugger received error of type: SIMPLE-ERROR</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Could not load ASDF "3.0" or newer</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Error flushed.</font></blockquote></div><div><br></div><div>I tried loading the other ".fas" files in "/usr/local"  such as "asdf.fas" but that did not help. </div><div><br></div><div>I checked the *features* variable in both versions but they were the same. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">$ ./a.exe </font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">...</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Condition of type: INTERACTIVE-INTERRUPT</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Console interrupt.</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">Available restarts:</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><br></font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">1. (CONTINUE) CONTINUE</font></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">...</font></blockquote><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">> (print-list *features*)<br>(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)</font><br></blockquote></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">$ /usr/local/ecl.exe<br>...<br></font><span style="font-family:monospace">> (print-list *features*)</span><br style="font-family:monospace"><span style="font-family:monospace">(WALKER </span><span style="font-family:monospace">ECL-BYTEC</span><span style="font-family:monospace">MP</span><span style="font-family:monospace"> CDR-1</span><span style="font-family:monospace"> CDR-5</span><span style="font-family:monospace"> FORMATTER</span><span style="font-family:monospace"> CDR-7 </span><span style="font-family:monospace">WSOCK</span><span style="font-family:monospace"> ECL-WEAK-HASH</span><span style="font-family:monospace"> LITTLE-ENDIAN</span><span style="font-family:monospace"> LONG-LONG</span><span style="font-family:monospace"> UINT64-T</span><span style="font-family:monospace"> UINT32-T</span><span style="font-family:monospace"> UINT16-T</span><span style="font-family:monospace"> COMPLEX-FLOAT</span><span style="font-family:monospace"> LONG-FLOAT</span><span style="font-family:monospace"> UNICODE</span><span style="font-family:monospace"> DFFI</span><span style="font-family:monospace"> CLOS-STREAMS</span><span style="font-family:monospace"> CMU-FORMAT</span><span style="font-family:monospace"> WINDOWS</span><span style="font-family:monospace"> WIN32</span><span style="font-family:monospace"> MINGW32</span><span style="font-family:monospace"> ECL-PDE</span><span style="font-family:monospace"> DLOPEN</span><span style="font-family:monospace"> CLOS</span><span style="font-family:monospace"> THREADS</span><span style="font-family:monospace"> BOEHM-GC</span><span style="font-family:monospace"> ANSI-CL</span><span style="font-family:monospace"> COMMON-LISP</span><span style="font-family:monospace"> IEEE-FLOATING-POINT</span><span style="font-family:monospace"> PACKAGE-LOCAL-NICKNAMES</span><span style="font-family:monospace"> CDR-14</span><span style="font-family:monospace"> PREFIXED-API</span><span style="font-family:monospace"> FFI</span><span style="font-family:monospace"> I686</span><span style="font-family:monospace"> COMMON</span><span style="font-family:monospace"> ECL)</span><font face="monospace"><br></font></blockquote><div><br></div><div><div><div dir="ltr"><div dir="ltr">Best regards,<div><br></div><div>Binh Nguyen</div></div></div></div></div></div>

        </blockquote><br>
    </div></blockquote></div>

        </blockquote><br>
    </div></blockquote></div>