[asdf-devel] logical pathname fixes

Robert Goldman rpgoldman at sift.info
Fri Apr 13 14:42:18 UTC 2012


On 4/12/12 Apr 12 -11:57 PM, Faré wrote:
> On Thu, Apr 12, 2012 at 23:23, Robert Goldman <rpgoldman at sift.info> wrote:
>> OK, I pulled the update to the test and reran the tests (Mac OS X 10.6) on
>>
>> clisp sbcl ecl abcl allegro allegromodern
>>
>> all succeed.
>>
>> CCL 1.8 fails badly: 10 tests fail.  Any chance that plugging in the
>> logical pathnames fixes busted loading on CCL?  Even test1.script fails:
>>
> I believe the problem is due to the file test1.lisp being compiled
> either as a logical or physical pathname, with the pathname being
> saved for debugging purposes, and the loading failing when it was
> compiled as logical but loaded without the translations being setup.
> 
> If you clear your fasl cache, things should work again.
> 
> For a permanent workaround, we could have test-logical-pathname not
> share system and file with non-logical-pathname test.
> 
> For a real fix, we should examine how the asdf-output-translations
> interact with logical-pathnames. I thought that the idea was that if
> you use logical pathnames, then you are responsible for your own
> output translations. This error suggests that logical-pathnames are
> resolved at some point and asdf-output-translations take it from
> there, which might not be what we want (or then again, might).
> 
> -#f
> drug, n:
>         A substance that, injected into a rat, produces a scientific paper.

Does this seem like the sort of thing we should raise with
openmcl-devel?  Sounds like we need a more deep understanding of what
goes on inside their fasl format....

I have mixed feelings about what is right here.  My growing dislike of
Logical Pathnames suggests to me that trying to squeeze them out and
resolve to physical might be the right thing.  But, of course, if
someone carefully built an application based on logical pathnames as a
portability solution, and moved a bundle of files with
carefully-maintained logical pathnames, then resolving would be The
Wrong Thing.

It would help if the error was more understandable.  If CCL tossed up
something that looked a lot more like "referencing a logical pathname
host that's not loaded," then I would be happier about ignoring this
problem and just fixing the test not to share files with the other
tests.  Then we could count on programmers and users having a reasonable
experience using ASDF and CCL.

Best,
r





More information about the asdf-devel mailing list