Luís Oliveira wrote:
On Fri, Aug 21, 2009 at 4:01 PM, Jeff Cunningham j.k.cunningham@comcast.net wrote:
I just tried to install elephant and ran into an annoying problem which could only be resolved by renaming the cffi/uffi-compat/uffi.asd to uffi-compat.asd. The problem seems to be one of identity theft, since elephant uses uffi, and it was picking up the cffi compatibility code (which does not appear to be sufficiently compatible for elephant), instead of what it expected.
Elephant breaks UFFI's abstractions and assumes SB-ALIEN is being used behind the scenes. That naturally breaks with cffi-uffi-compat.
This looks to me like an Elephant error triggering an obscure asdf configuration error. Ideally, Elephant should be fixed to properly use UFFI, and the configuration error should be hunted down.
I'm unclear about why asdf finds cffi/uffi-compat/uffi.asd before uffi.asd. If this is a stock part of clbuild, then Jeff should report this problem to them; the clbuild team can decide how they want to solve it. If this was caused by a custom asdf recursive-directory-search in Jeff's init files, then he should fix it there (breadth-first instead of depth-first traversal).
CFFI's uffi.asd is just a convenient way of using cffi-uffi-compat without editing third-party systems and I didn't expect it to be picked up automatically by tools such as clbuild.
I would gladly rename it.
I don't think CFFI should change anything. Its perfectly normal for an upgrade/compatibility layer to reuse the original name. For example, my computer has /usr/bin/cc symlinked to gcc; I don't know anyone who uses the original cc.
- Daniel