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

Pascal J. Bourguignon pjb at informatimago.com
Fri Mar 16 19:00:01 UTC 2012

Robert Goldman <rpgoldman at 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.

__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.

More information about the asdf-devel mailing list