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@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@genworks.com, dave.genworks.com(skype) USA: 248-327-3253(o), 1-248-330-2979(mobile) UK: 0191 645 1699
-- My Best, Dave Cooper, Genworks Support david.cooper@genworks.com, dave.genworks.com(skype) USA: 248-327-3253(o), 1-248-330-2979(mobile) UK: 0191 645 1699