ASDF 3.1.5 test suite issues on ACL (8.2 and 10.0 GM)

Faré fahree at gmail.com
Sat Sep 12 01:57:20 UTC 2015


Dear Kevin,

On Fri, Sep 11, 2015 at 12:55 PM, Kevin Layer <layer at franz.com> wrote:
> Hi, all.  I had an spr with Faré, but I figure it's better to have
> this discussion on asdf-devel.
>
Yes, my apologies for not getting back to you. I had a very busy
couple of weeks at work, and debugging ASDF on Allegro/Windows slipped
out of my mind.

> First, as Faré pointed out, ACL was releasing non-release versions of
> ASDF.  I've rectified that, and I will be using the `release' branch
> from now on.
>
Thanks!

> Second, I can't build 3.1.5 on Windows.  See below.
>
I have no problem buildng or using ASDF 3.1.5 with Allegro 9.0 on
Windows — except for the ASDF bug, fixed in 3.1.5.7 (that also works
with Allegro 9.0), that the cache is put at the wrong place (missing
the cache/ component because I fumbled the / after cache).

What is (user-homedir-pathname) returning for you?
Could it be that it's wrongfully returning NIL? That would explain
your error behavior.
Note that (user-homedir-pathname) is specified to always return an
(absolute?) directory pathname object; if it doesn't that's probably a
bug in Allegro. Yet, it works for me.

> Third, I would really love to include the ASDF tests as part of the
> ACL test suite.  It would have prevented so many headaches.  To that
> end, I see these problems:
>
> 1. There are reported errors, even on ACL 8.2.  I can send the
> details, but I'm sure someone else can reproduce this.  I used
>
>   ALLEGRO=.../alisp make t u l=allegro
>
> in a clone of the asdf repo on the release branch.  I used an 8.2
> alisp, which was not in my PATH, btw.  I don't have any lisps in my
> PATH (because I want to explicitly choose the version when I run it).
>
For test-program.script to work, you MUST export a $PATH that contains
your alisp — but that PATH need not apply outside your test script or
test command line, as in

ALLEGRO=.../alisp PATH=.../:$PATH make l=allegro t u


> 2. The symbolic link issue.  The test suite doesn't run at all when
> the source files are available via a symbolic links.  I'll be happy
> to get some workaround (a file loaded before the tests start so I can
> set *resolve-symlinks* to nil?).
>
It's simpler if you just copy ASDF and/or use the truename for your $PWD etc.

> As for the Windows build problem:
>
> ;;; Compiling file sys:;contrib;asdf.lisp
> ;;;   (C:\src\scm\acl82.32\src\cl\src\contrib\asdf.lisp)
> ; While compiling (:top-level-form "asdf.lisp" 321294):
> Error (from error): Invalid pathname #P"cache":
>                     Expected an absolute pathname
>
> Once I can build a release version of ASDF, I'll put it out as a patch
> on 8.2, 9.0 and 10.0.
>
All tests pass for me with Allegro 9.0 on Windows using the ASDF
3.1.5.7 in the minimakefile branch:

make l=allegro test-scripts

Using 3.1.5 (more unnecessarily verbose), only test-program fails, but
I forgive it:

make l=allegro test-lisp

[Note to Robert: that's one more reason to merge the minimakefile
branch — I'm unwilling to fix run-tests.sh to do the right thing wrt
to using buildi.exe on Windows. And yes, I debugged make.bat on
Windows while I was at it.]

Since there's a cache pathname bug on Windows in 3.1.5, I recommend
shipping with 3.1.5.7 (or 3.1.6, if we manage to ship faster than you
do).

> Once the testing issues are resolved, I will immediately add it to the
> test suite.
>

Please trace user-homedir-pathname and/or investigate why your cache
gets set wrong on Windows.



More information about the asdf-devel mailing list