Robert Goldman rpgoldman@sift.info writes:
On 3/15/12 Mar 15 -9:05 PM, Pascal J. Bourguignon wrote:
Hi!
I have a file swank-stuff.lisp that uses swank if available, with forms such as:
#+swank (in-package :swank) #+swank …
It contains also definitions that are alway available.
If I define it as:
(:file "swank-stuff" :depends-on ("other-stuff"))
and compile it when I have swank, it produces a .fasl that contains a toplevel (in-pacakge :swank). Therefore when I load the system in an image without swank, it produces this error:
; Loading "com.informatimago.lse.unix-cli" . > Error: There is no package named "SWANK" . > While executing: ccl::set-package, in process listener(1).
I tried to define it as:
(:file "swank-stuff" :depends-on ("other-stuff") :in-order-to ((asdf:load-op (asdf:compile-op "swank-stuff"))))
but it still doesn't work. Is there a way to make it so that swank-stuff is always loaded/compiled from source, instead of from the .fasl file?
Sorry, why should that definition fix the problem? I.e., what is it about compiling the file from source that ensures that swank will be loaded, when loading the FASL doesn't?
The #+swank in the source file.
At any rate, there IS a way to ensure that swank-stuff is always loaded from lisp instead of from fasl --- it's been discussed in the developers' list in the past.
I /thought/ this was a FAQ, or had been rolled into ASDF proper, but I don't see anything. That's regrettable, since this is something that I have seen (partially) implemented over and over.
Didn't see anything about it in the ASDF Manual.