[asdf-devel] Problems with asdf:load-system :force

Stelian Ionescu sionescu at cddr.org
Fri Jul 26 21:30:27 UTC 2013


On Fri, 2013-07-26 at 14:47 -0400, Faré wrote:
> > 2) (asdf:load-system :swap-bytes/test :force '(:swap-bytes/test))
> > needlessly compiles files from :swap-bytes on which it depends.
> > I've attached a log that traces PERFORM and COMPUTE-ACTION-STAMP and
> > shows that two files from :swap-bytes get recompiled even though they
> > haven't changed.
> >
> > I'm wondering if the problem lay with the ASDF extension in
> > Madeira-port, but that's so simple I can't find any obvious fault.
> > Ideas ?
> >
> A) I see nothing wrong in madeira-port, but there is no reason for
> swap-bytes to use it, since
>  i) madeira-port requires asdf 2.29
>  ii) asdf 2.27 and later already have :if-feature that provides the
> same basic service

Oh, goodie.

>  iii) you are not using any of the feature-eval extensions provided by
> madeira-port
> 
> B) your perform methods does a force of swap-bytes/test. Did you try
> to remove that, and see if the bug still happens? That might help
> narrow it down. I don't see why you need to force, anyway. (And yes,
> it looks like a bug.)

When I test stuff I want the entire test suite to be recompiled
on-the-fly so as to catch macro redefinitions, etc...

>  Actually, it's quite possible that even without
> that force, this could possibly cause the second load-system to have a
> confused plan. 

This happens when I force-load the test suite from the repl too, not
only from within the perform method.


> Since you're already depending on asdf3, what about
> instead have in your defsystem swap-bytes something like the following
> statements (untested):
>   :in-order-to ((test-op (load-op swap-bytes/test)))
>   :perform (test-op (o c) (uiop:symbol-call :5am :run! :swap-bytes))
> 
> NB: ok, using uiop instead of asdf/package means you depend on 2.32
> instead of 2.29.

Ok, will do

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20130726/7633919a/attachment.sig>


More information about the asdf-devel mailing list