We've gotten a couple of bug reports from users who are having trouble doing (ccl:rebuild-ccl :clean t) when (require 'asdf) is in their init files.
http://trac.clozure.com/ccl/ticket/765 http://trac.clozure.com/ccl/ticket/773
While it's undoubtedly best to start up without an init file when you're planning to rebuild the lisp (by using "ccl -n"), I'm wondering if there would be some way to avoid this particular issue involving ASDF.
During the process of rebuilding ccl, we compile (but do not load) ccl:tools;asdf.lisp. Perhaps we could simply stop compiling ASDF as part of ccl:rebuild-ccl. That way, the compile-time side effects that seem to be causing the trouble would be avoided.
On 8 November 2010 11:19, R. Matthew Emerson rme@clozure.com wrote:
We've gotten a couple of bug reports from users who are having trouble doing (ccl:rebuild-ccl :clean t) when (require 'asdf) is in their init files.
http://trac.clozure.com/ccl/ticket/765 http://trac.clozure.com/ccl/ticket/773
While it's undoubtedly best to start up without an init file when you're planning to rebuild the lisp (by using "ccl -n"), I'm wondering if there would be some way to avoid this particular issue involving ASDF.
During the process of rebuilding ccl, we compile (but do not load) ccl:tools;asdf.lisp. Perhaps we could simply stop compiling ASDF as part of ccl:rebuild-ccl. That way, the compile-time side effects that seem to be causing the trouble would be avoided.
0- Your rebuild recipe should include the -n flag. Really, it should.
1- With ASDF 1, there used to be a case for loading and configuring ASDF before anything else, and doing that in your lisp init files made sense. With ASDF2, no need for such braindamaged landmines. Just use the normal ASDF2 configuration mechanism. Thou shall not load ASDF in thy lisp init file.
2- Yes, the compiling without loading does create packages and stuff (through eval-when side-effects) without filling them in. It's evil. CCL should not be building ASDF (or anything it doesn't load, really) before dumping an image, only after.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] We [the French] will accept any master who will let us enjoy the good life, with good food, sweet romance and long vacations; and we'll use that good life to corrupt whoever will rule us into embracing our way of life. Yet we'll abandon him for a stronger master the moment that his weakness is apparent.