Reputation: 927
I have a simple ASDF system at my laptop. I can do "M-X slime-load-system ", and it loads. I can call a function exported by one of packages.
When I run another instance of Emacs locally, and connect to the remote Swank with slime-connect, and load the system, I get:
Component "<system-name>" not found
[Condition of type ASDF/FIND-SYSTEM:MISSING-COMPONENT]
Restarts:
0: [RETRY] Retry ASDF operation.
1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
2: [ABORT] Abort compilation.
3: [*ABORT] Return to SLIME's top level.
4: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING {100346E7C3}>)
Backtrace:
0: ((:METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) ASDF/LISP-ACTION:LOAD-OP "<system-name>") [fast-method]
...
and more
What I am trying to achieve is the ability to load the system to remote lisp, edit code locally, and compile/load it in remote lisp.
If I rsync the source code to ~/common-lisp/ at the remote system, slime-load-system works. It's fine, but it does not feel right, this additional step.
How do I make it work without rsyncing?
Upvotes: 1
Views: 618
Reputation: 4360
Asdf works on pathnames, so if you can’t make a pathname on your remote system referring to the files on your local system, then you can’t load that system. I don’t know of any Lisp that lets you make such pathnames, so I think you’ll need to set something else up. My recommendation is that you use sshfs or something similar to allow your remote system to transparently access files on your local system.
Upvotes: 3