[asdf-devel] always load/compile from sources.

Robert Goldman rpgoldman at sift.info
Fri Mar 16 03:24:44 UTC 2012


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?

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.

Best,
r





More information about the asdf-devel mailing list