[slime-devel] How to start Slime/Swank?

Helmut Eller e9626484 at stud3.tuwien.ac.at
Wed May 12 06:44:29 UTC 2004


Ian Phillips <ianp at ianp.org> writes:

> ; compiling file
> "/usr/share/common-lisp/source/swank/swank-source-path-parser.lisp"
> (written 09 MAY 2004 09:42:59 PM):
>    debugger invoked on a SB-KERNEL:SIMPLE-PACKAGE-ERROR in thread 26812:
>    The name :SWANK-BACKEND does not designate any package.
>    You can type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

Currently we assume that SLIME is placed in a writable directory.
Is /usr/share/common-lisp/source/swank/ writable?

> I'm running emacs 21.3.50, and slime HEAD from CVS earlier today. I'm
> trying to use SBCL 0.8.10 as the backend.

The version numbers look ok.

> Looking into it a little further, I see that if I just run sbcl from a
> shell and the do (require 'swank) or (asdf:operate 'asdf:load-op
> :swank) then I get the same result.

SLIME has a custom loader script and also a ASDF file, but the custom
loader is better tested.  The recommended way to load SWANK is
something like:

  (load "/usr/share/common-lisp/source/swank/swank-loader.lisp")

This should compile and load all files in the correct order; it aborts
when something goes wrong.

> I thought at first that thjis was telling me that I needed to specify
> SBCL as a backend somewhere. I'm not too sure now though, I think that
> what is actually happening is that the swank files (in
> /usr/share/common-lisp/sources/swank) are getting loaded in the wrong
> order and that something is doing an (in-package :swank-backend)
> before the defpackage call has been loaded and run.
>
> So, am I right? And if so, how can I make sure that the files are
> loaded in the correct sequence?

The loader script detects automatically that it runs inside SBCL and
compiles and loads the SBCL specific stuff. (The #+sbcl directives in
the swank-loader are used to mark code that should only be visible it
SBCL; it's a bit like #ifdef in C.)

> Another thought is: maybe there's a way to precompile all of this
> stuff (into a FASL file I think) and then it should "just work" ?

This is unfortunately quite difficult.  We support 5 different Lisp
implementations, the FASL file formats are different between OSes and
often incompatible between different versions of the same
implementation.

Some other suggestions:

  - make sure the SLIME directory is writable
  
  - delete the 'fasl' subdirectory.  The loader script creates this
    directory and you can safely delete it.
  
  - try to load SWANK manually with
  
     (load "/usr/share/common-lisp/source/swank/swank-loader.lisp")
     
    It makes no sense to continue if this doesn't work.  If this
    doesn't work send us the complete output.

  - If it works, start SLIME with M-x slime from Emacs.

Helmut.







More information about the slime-devel mailing list