[Openmcl-devel] CCL 1.8, Swank, fails to load quicklisp on OS X

Gary Byers gb at clozure.com
Sun Jun 10 13:29:30 PDT 2012

On Sun, 10 Jun 2012, Todd King wrote:

> Greetings,
> I have installed CCL 1.8 on OS X (Lion) and everything seemed to be working fine until I plugged it in to Emacs/SLIME (latest available via quicklisp: 2012-5-12).  I load quicklisp from my .ccl-init.lisp file, but with 1.8 the loading of quicklisp fails.  My other CL installations still work fine - CCL 1.7, SBCL 1.0.55, and CLISP 2.49.
> The problem appears to show up in the *inferior-lisp* window:
>    (progn (load "/Users/todd/quicklisp/dists/quicklisp/software/slime-20120520-cvs/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init"))     (funcall (read-from-string "swank:start-server") "/var/folders/mc/gb_hb91j7ts_ng50m52_7x9m0000gn/T/slime.34727"))
>    > Error: Unbound variable: CCL::FASL-VERSION
>    > While executing: ASDF::LISP-VERSION-STRING, in process listener(1).
>    > Type :GO to continue, :POP to abort, :R for a list of available restarts.
>    > If continued: Skip loading init file.
>    > Type :? for other options.
> The ASDF version is whatever is distributed with CCL 1.8.

No it isn't; the version of ASDF distributed with CCL 1.8 doesn't unconditionally
assume that the internal symbol CCL::FASL-VERSION is BOUNDP.

Older versions of ASDF did so, and your init file is apparently causing
one of those older versions to be loaded.

> This problem does not occur when invoking CCL 1.8 from the command line, however.  So, it appears to be an issue with the SWANK<->CCL 1.8 interface.

If it were a problem with "the SWANK<->CCL 1.8 interface", it would presumably
have to be a problem that no one else seems to notice.  At first glance, that
doesn't seem like a very plausible explanation.


> This very same setup works as expected on Windows - go figure.
> Has anyone else had this issue?  Or does anyone have some pointers as to how I can work to correct this?

I'd recommend debugging.  Someone who has an exact copy of your init file and
of the exact versions of the code that your init file loads could do this for
you, but you're probably the only person who meets those requirements.

Typing :b and a newline at the break loop prompt above will show a backtrace, and
the sequence of calls to LOAD in that backtrace would likely show you what's
loading an old version of ASDF.

Setting *LOAD-VERBOSE* to T early in your init file might help you to determine
what's loading an old version of ASDF (though some of the things that're involved
may override that.)

My understanding is that QuickLisp uses its own version of ASDF; if so and if
your QuickLisp installation on that machine is very old you may want to update

> Regards,
> Todd Edwin King
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list