Reputation: 7826
I was trying to use the slime-connect function to get access to a remote server with sbcl. I followed all the steps from the slime.mov movie from Marco Baringer, but I got stuck when creating the ssh connection for slime. This is after already starting the swank server on the remote machine. I did it like this:
ssh -L 4005:127.0.0.1:4005 [email protected]
And I got this errors, on local SLIME:
Lisp connection closed unexpectedly: connection broken by remote peer
...and on the remote server:
channel 3: open failed: connect failed: Connection refused
What could possibly be wrong?
Upvotes: 10
Views: 6251
Reputation: 1570
For me the problem was that the slime
(v2.22) function from Emacs started with additional argument from-emacs t
which swank-loader.lisp
didn't support (v2.22).
What worked for me is editing of slime-v2.22/swank-loader.lisp:init
to accept one new argument from-emacs
which isn't used of cause in the function's body, because I don't know in what way this argument should be treated. But slime
starts now fine and workable.
Also while starting slime
I receive a warning about incompatible versions: slime v2.23 and swank v2.22, but as I checked with list-packages
and simply by folder names -- I have slime
and swank
both of versions v2.22. That's a confusion for me right now.
If somebody knows details about it, please, comment.
Upvotes: 0
Reputation: 21238
Have you checked that the version of SLIME and SWANK you use are the same? I've had odd things happening when I've used mismatched versions of those two halves of a SLIME session.
Upvotes: 4
Reputation: 42094
The easiest thing to miss is the tcp port the swank server listens on. I haven't been doing a lot of remote development lately, but I remember that the first times I did, I had a bit of trouble understanding how to tell swank which port to bind, or to find out which one it picked.
Would you mind expanding on how you actually started the swank server?
Upvotes: 2
Reputation: 626
I don't know, but you can try to connect to swank on remote machine locally.
ssh [email protected]
telnet 127.0.0.1:4005
May be there you will find errors. Also you can try localhost:4005 instead of 127.0.0.1 and check if localhost interface is properly configured.
Upvotes: 2