[asdf-devel] ABCL and UIOP

Faré fahree at gmail.com
Mon Mar 25 15:18:07 UTC 2013


That's an interesting situation.

You're using ASDF and UIOP as intended,
so a failure is a bug in UIOP and/or ABCL.

I have renamed a symbol from LOAD-ASDF-DEBUG-UTILITY to
LOAD-UIOP-DEBUG-UTILITY, which causes the UNEXPORT to happen when
you load the new UIOP, at which point no one should be using the old symbol.
But it looks like the unexport itself is failing,
because it recurses to packages that :use the current one;
yet somehow it looks like it's confused as to whether the symbol
is accessible or not in UIOP/DRIVER:
if it weren't, we shouldn't try the unexport,
and if it is, then the unexport should succeed.
That it tries to unexport and fails is a bad sign.

Interestingly, it works on SBCL and other implementations,
so ABCL is possibly doing something wrong.

I can reproduce locally on ABCL 1.1.0 — I'll look into it.

Sorry for the failure.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
I'd give my right arm to be ambidextrous.


On Mon, Mar 25, 2013 at 10:04 AM, Mark Evenson <evenson at panix.com> wrote:
> abcl-1.2.0-dev currently uses asdf-2.32 which includes a perfectly fine (as
> far as we know) UIOP.
>
> But one can't load UIOP 2.32.5 from Quicklisp 2013-03-12 in abcl-1.2.0-dev,
> getting the following error:
>
>     The symbol UIOP/UTILITY::LOAD-ASDF-DEBUG-UTILITY is not accessible in
> package UIOP/DRIVER
>
> which is triggered by the following UNEXPORT:
>
>      (UNEXPORT UIOP/UTILITY::LOAD-ASDF-DEBUG-UTILITY #<PACKAGE UIOP/DRIVER>)
>
> Is it to be expected that ASDF cannot, in general, "host" later versions of
> UIOP without first upgrading ASDF?
>
> It might be nice to consider some sort of warning in this situation, as
> until ASDF3 gets more widespread, people may be tempted to get Quicklisp to
> locate and load UIOP for them.
>
> Or maybe I have misunderstood the packaging of ASDF with ABCL?  I have been
> simply using the results of "make build/asdf.lisp" in the path of our
> CL:REQUIRE implementation.  I am supposed to somehow make the asdf.asd and
> uiop.asd files accessible as well?
>




More information about the asdf-devel mailing list