[Ecls-list] ECL with XAMPP

Márcio Faustino marciombfaustino at gmail.com
Sun Feb 20 10:02:06 UTC 2011


On Sun, 20 Feb 2011 10:51:11 +0100, Márcio Faustino <marciombfaustino at gmail.com> wrote:

> Hi,
>
> I'm trying to use a Lisp file as a CGI script (using XAMPP 1.7.3, ECL 11.1.1, Windows 7 64-bit), but I'm struggling with some problems.
>
> First I had to add these lines to "C:\xampp\apache\conf\httpd.conf":
>
> AddHandler cgi-script .lisp
> ScriptInterpreterSource Registry-Strict
>
> After that I could use this:
>
> #!/usr/bin/ecl -shell
> (format t "Content-Type: text/plain~%~%")
> (princ "test")
>
> Now the issue I'm having is when I try to load Quicklisp. The first problem was that "(user-homedir-pathname)" returns "/" so it cannot find where Quicklisp is really installed, which in my case is "C:\Users\marcio\quicklisp". I then tried to hardcode the path:
>
> #!/usr/bin/ecl -shell
> (format t "Content-Type: text/plain~%~%")
> (load "/Users/marcio/quicklisp/setup.lisp")
>
> Which outputs:
>
> ;;; Loading "C:/Users/marcio/quicklisp/setup.lisp"
> ;;; Loading #P"C:/usr/bin/asdf.fas"
> ;;; Loading #P"C:/usr/bin/cmp.fas"
> ;;; Internal error:
> ;;;   ** Unable to find include directory
>
> I guess this has something to do with "(compiler::ecl-include-directory)", but I'm not really sure where to go from here. Any suggestions?
>
> Thanks,

Replying to myself, I forgot to mention that I had set symbolic links in "C:\usr\bin\" for the ECL files and forgot to create one for the directory with the C header files. I did that, so using:

#!/usr/bin/ecl.exe -shell
(format t "Content-Type: text/plain~%~%")
(load "/Users/marcio/quicklisp/setup.lisp")

Yielded this:

;;; Loading "C:/Users/marcio/quicklisp/setup.lisp"
;;; Loading #P"C:/usr/bin/asdf.fas"
;;; Loading #P"C:/usr/bin/cmp.fas"
;;; Note:
;;;   Invoking external command:
;;;   cl -I. -IC:/usr/bin/ /EHsc /DGC_DLL /DGC_BUILD /nologo /D_CRT_SECURE_NO_DEPRECATE /DNDEBUG /MD /O2 /O2 -w -c C:/.cache/common-lisp/ecl-11.1.1-win-x86/C/Users/marcio/quicklisp/quicklisp/ASDF-TMP-package.c -FoC:/.cache/common-lisp/ecl-11.1.1-win-x86/C/Users/marcio/quicklisp/quicklisp/ASDF-TMP-package.obj
;;; Internal error:
;;;   ** Could not spawn subprocess to run "\"cl\" \"-I.\" \"-IC:/usr/bin/\" \"/EHsc\" \"/DGC_DLL\" \"/DGC_BUILD\" \"/nologo\" \"/D_CRT_SECURE_NO_DEPRECATE\" \"/DNDEBUG\" \"/MD\" \"/O2\" \"/O2\" \"-w\" \"-c\" \"C:/.cache/common-lisp/ecl-11.1.1-win-x86/C/Users/marcio/quicklisp/quicklisp/ASDF-TMP-package.c\" \"-FoC:/.cache/common-lisp/ecl-11.1.1-win-x86/C/Users/marcio/quicklisp/quicklisp/ASDF-TMP-package.obj\"".The system cannot find the file specified.

Which I think is because when compiling files I need to make sure to do it from within the Visual Studio command prompt e.g. "vcvarsall.bat", so that's why it can't find the compiler. Besides this problem it shouldn't even try to compile again because it has been already.

-- 
Márcio Faustino





More information about the ecl-devel mailing list