On Fri, Jun 20, 2014 at 9:40 AM, Faré <fahree@gmail.com> wrote:
On Fri, Jun 20, 2014 at 6:11 AM, Jean-Claude Beaudoin
<jean.claude.beaudoin@gmail.com> wrote:
> I dropped in ASDF 3.1.2 from the release tarball in the MKCL 1.1.9
> source tree as a direct replacement of the currently bundled ASDF.
> It compiled fine. The whole MKCL build completes and installs as usual.
> The thus resulting ASDF 3.1.2 reports all tests are good when
> 'make test l=mkcl" is run, as well as with 'make test-upgrade l=mkcl'.
>
> But when I come to try an upgrade from 3.1.2 to 3.1.2.4 syntax-control
> branch I then get a crash.  Here is attached the transcript of what
> is produced at the repl.
>
> The error message basically says that 'build/asdf.lisp' cannot be found.
> And in fact it is missing (it used to be produced properly by 3.0.3.0.X).
> If I drop to a shell prompt and do make build/asdf.lisp and try the
> same upgrade again then it completes properly. So is there something
> broken now with the ASDF bundle 'concatenate' ops?
>
I suspect you are not bootstrapping ASDF properly;
that would explain why your patch didn't fix things at first,
but worked when I tried to reproduce: only the second time around
would ASDF have been properly built.
Most implementations "just" check in asdf.lisp.
If you checkout the whole tree, you need to create asdf.lisp by running "make".


And I do as you say during MKCL's bootstrap. But that is not the situation of
interest here. What we have here is MKCL fully and properly built and installed,
with its bundled ASDF version already loaded, attempting a "live upgrade" of
ASDF.
 
> Would do but I don't quite understand how to fix what I just reported here
> above.
>
Please make sure you build asdf before you use asdf.
asdf is not magical: it needs either make or asdf to build asdf.
If you don't have asdf yet and try to build asdf, you're in trouble —
unless you use make to escape the bootstrap loop.


You got me to doubt myself so I went back to my original setup with ASDF 3.0.3.0.2
and replayed the whole scenario from there, making sure to remove the 'build/asdf.lisp'
file from the "live upgrade" directory first. I attached the transcript of the REPL this gives
me.  As you can see from it, the 'build/asdf.lisp' gets recreated without any explicit
call to "make" on my part.  This is not what happens when the bundled ASDF is 3.1.2!