ECL: program test fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ASDF |
New
|
Undecided
|
Unassigned |
Bug Description
On the ASDF-Devel mailing-list last week, Robert reports:
These two expressions fail comparison with EQUAL:
(UIOP/UTILITY:NEST (LISP-INVOCATIO
'("hello, world") evaluates to ("hello, world")
Faré replies:
I can reproduce the issue. When running the image, it looks like uiop
failed to be included, even though we explicitly depend on it. I
believe this is a combination of one or several of the below:
1- The way that ASDF, since 3.3 or so, refuses to read uiop.asd unless
it's strictly newer than ASDF
2- The fact that this test configures an empty source-registry to
begin with, so it can't load either ASDF or UIOP from source anyway,
it seems
3- The fact that this ECL, unlike e.g. MKCL and SBCL, doesn't provide
uoip as a linkable "require" module
4- Somehow, bundle's failure by to fall back to loading the entire
ASDF when UIOP isn't present alone, yet needed.
5- Somehow, bundle's failure to link to the libasdf.a provided by ecl.
6- The fact that ECL, being linking-based rather than load-based,
doesn't preserve ASDF from the builder's image.
All in all, it's probably a bug in bundle.lisp.
THAT SAID, I just recompiled ECL after many months (years?), using ECL
(Embeddable Common-Lisp) 16.1.3
(git:ba6e6ddde7
and trying to (require :asdf) (asdf:load-system :asdf) from the
command line in the ecl executable would cause the stack to blow up
(and eventually segfault if you keep choosing the restart to continue
with more stack). On the other hand, I can load the asdf build and
test system can create a bootstrap asdf.fas that can be loaded with no
problem. SO, I'm not excluding an ECL bug, either. — Obviously, some
things are wrong with ECL, too. I still bet there's a bug in ASDF.
Sorry, I have few cycles to spare for Common Lisp these days.