How to use ASDF

Discussion of Common Lisp
Post Reply
tutiplain
Posts: 1
Joined: Wed Mar 09, 2011 9:16 pm

How to use ASDF

Post by tutiplain » Wed Mar 09, 2011 9:27 pm

Hi, I am a complete Lisp newbie. My question pertains ASDF, so I'm not sure if this is the appropiate place to ask. I am trying to get ASDF to correctly load a system (the wxCL gui library), but I keep getting errors, and I'm not sure what I am doing wrong. Here is how I set everything up: Using windows, GNU Clisp 2.49 installed on c:\clisp. I added the environment variable CL_SOURCE_REGISTRY and pointed it to the path where the wxcl.asd file is located (c:\clisp\registry\). I load ASDF with (load "c:\\clisp\\asdf\\asdf.lisp") (Note that I downloaded the asdf.lisp and manually installed it there.) and then attempt to load wxcl with (asdf:load-system :wxcl). I get the following:

Code: Select all

[2]> (asdf:load-system :wxcl)
; Loading system definition from C:\clisp\registry\wxcl.asd into #<PACKAGE ASDF0
>
;; Loading file C:\clisp\registry\wxcl.asd ...
"Copyright (c) Surendra Singhi 2005"
"wxCL = wxWidgets + Common Lisp"
*** - Error while trying to load definition for system wxcl from pathname
      C:\clisp\registry\wxcl.asd:
      PARSE-NAMESTRING: Argument (CONCATENATE 'STRING
      (DIRECTORY-NAMESTRING *WXCL-DIRECTORY*) "src/") should be a pathname
      designator (OR
      STRING FILE-STREAM PATHNAME)
The following restarts are available:
SKIP           :R1      skip (DEFSYSTEM WXCL DESCRIPTION ...)
RETRY          :R2      retry (DEFSYSTEM WXCL DESCRIPTION ...)
STOP           :R3      stop loading file C:\clisp\registry\wxcl.asd
ABORT          :R4      Abort main loop
Break 1 ASDF0[3]>
I can see that asdf can at least see the library, but something is amiss. Can anyone help me solve this issue?

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: How to use ASDF

Post by ramarren » Wed Mar 09, 2011 11:21 pm

tutiplain wrote: I added the environment variable CL_SOURCE_REGISTRY and pointed it to the path where the wxcl.asd file is located (c:\clisp\registry\).
The asd file has to be located in the same directory as the system. The registry is usually a collection of symbolic links to the files, but Windows didn't support those properly until recently and I don't think it does expose them even in current version. On Windows you probably just should every library to the registry directly.

From what I can see the wxcl library hasn't been updated since 2006. The error looks like an incompatibility with current ASDF.

For installing libraries I would suggest Quicklisp, which has a loading mechanism which works better on Windows and any libraries managed by it are much more likely to work. For portable GUIs mostly those based on GTK are available. There is cl-gtk2-gtk and cells-gtk.

Post Reply