[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