2

所以,我正在使用

sbcl --dynamic-space-size 1024 \
     --noinform \
     --load $HOME/quicklisp/setup.lisp \
     --eval '(ql:quickload :myapp)' \
     --eval "(sb-ext:save-lisp-and-die \"myapp\" :toplevel #'myapp::main :executable t :compression t)"

在本地生成myapp,并将生成的二进制文件上传到服务器。

如此处所指出的,该函数myapp:main执行以下操作(以及服务器的其他几个初始化操作):

(bt:make-thread (lambda () (swank:create-server :port swank-port ; consider it to be 8080
                                                :dont-close t)))

我还在本地机器上进行端口转发:

ssh -L8080:127.0.0.1:8080 user@remote

我可以在我的本地机器上运行slime-connect它,myapp我从同一台机器连接到它。


但是,当我尝试slime-connect在本地计算机上远程运行时,我收到错误消息localhost8080myapp

Can't locate module: SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [*ABORT] Return to SLIME's top level.
 1: [ABORT] abort thread (#<THREAD "worker" RUNNING {1005B6EB73}>)
  1. 如果我选择[*ABORT],emacs 会给我error in process filter: No catch for tag: slime-result-2-212, (error "Synchronous Lisp Evaluation aborted")(在 minibuffer 中),没有 SLIME REPL。

  2. 选择[ABORT]也给出了几乎相同的error in process filter: Synchronous Lisp Evaluation aborted

此外,如果我也尝试评估框架中的某些内容,我会得到error in process filter: Invalid message protocol.

PS:我正在使用 AWS,以防有关安全组的详细信息是相关的。

4

0 回答 0