[asdf-devel] Workaround (was: adsf/bundle:monolithic-fasl sometimes puts dependent system first in list)
david.cooper at genworks.com
Sat Mar 16 16:15:56 UTC 2013
As you probably are aware, an apparent workaround for this apparent bug is
to make a toplevel "container" system, whose only contents is a :depends-on
which contains the actual desired system (or list of systems). It seems
that if the toplevel system has no actual file components, then it will not
appear in the (asdf:component-depends-on 'asdf/bundle:monllithic-fasl-op
...) at all, and subsequently the systems appear in the correct order ---
so the generated monofasl will be usable.
In fact that's why I didn't see the bug initially, because gendl.asd
normally is just such a container system and has no source components (last
night I purposely "broke" it for testing by inclusion of a
"source/try.lisp" at the toplevel -- if you clone the repository now, that
source directory will not be there, and the monofasl for :gendl will work).
I hope this is useful information.
On Fri, Mar 15, 2013 at 7:06 PM, Dave Cooper <david.cooper at genworks.com>wrote:
> Try this:
> 1. git clone git://github.com/genworks/gendl.git
> 2. put it in your quicklisp/local-projects/
> 3. (ql:register-local-projects)
> 4. (ql:quickload :gendl)
> 5. (ql:operate 'asdf/bundle:monolithic-fasl-op :gendl)
> 6. (first (asdf:output-files 'asdf/bundle:monolithic-fasl-op :gendl))
> 7. Copy the yielded pathname string to use in next step.
> 8. [in a fresh Lisp] (load <the --all-systems fasl from step 7>)
> 9. [back in first Lisp]:
> (asdf:component-depends-on 'asdf/bundle:monolithic-fasl-op :gendl)
> 10. Read it and weep. system :gendl comes _first_ in the list. I feel it
> should come _last_.
> I tried to look into the asdf code behind this operation but am afraid it
> is currently far over my head.
> My Best,
> Dave Cooper, Genworks Support
> david.cooper at genworks.com, dave.genworks.com(skype)
> USA: 248-327-3253(o), 1-248-330-2979(mobile)
> UK: 0191 645 1699
Dave Cooper, Genworks Support
david.cooper at genworks.com, dave.genworks.com(skype)
USA: 248-327-3253(o), 1-248-330-2979(mobile)
UK: 0191 645 1699
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the asdf-devel