axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: problem compiling wh-sandbox revision 571 on Windo


From: Waldek Hebisch
Subject: [Axiom-developer] Re: problem compiling wh-sandbox revision 571 on Windows
Date: Tue, 19 Jun 2007 15:51:20 +0200 (CEST)

Hmm, it looks like we have another GCL problem.
Bill Page wrote:
> On 6/19/07, Waldek Hebisch wrote:
> > ...
> > Concerning code in 'daase.lisp.pamphlet':  the 'localdatabase' function
> > is supposed to read information from files.  More preciely,
> > 'localdatabase' computes list of files and calls 'localnrlib' (or
> > other functions) to process each of the files.  'localdatabase'
> > is used in two ways:
> > 1) from ')lib' command, in this mode explicit list of constructors is
> >    given
> > 2) form make-databases, in this mode the arguments contain list of
> >    directories containing *.NRLIB subdirectories
> >
> 
> Thanks for this explanation.
> 
> > Since apparently ')lib' command works (however the paths printed
> > lack drive part, which may be a problem), I would suspect that the
> > problem is in building list of *.NRLIB subdirectories.  I changed this
> > part to make it work in sbcl and clisp...
> >
> > As a sanity check I will first check what '(truename "./")' gives
> > (we want patchname to the current directory).
> 
> Ok, this result looks sane:
> 
> (1) -> )lisp (truename "./")
> 
> Value = #p"C:/msys/1.0/home/Administrator/wh-test/src/algebra/"
> 
> > Than I would look what '(directory "*.NRLIB/index.KAF")' in algebra
> > directory gives
> > -- it should produce list of pathnames to index.KAF files.
> > The exact result vary from Lisp to Lisp, but the form above was
> > the only one which gave what we want in all Lisps...
> >
> > You may also try '(directory "*.NRLIB\\index.KAF")', to check
> > for possible bug handling slashes.
> >
> 
> All of these functions fail!
> 
> (1) -> )lisp (directory "*.NRLIB/index.KAF")
> 
> Value = NIL
> 
> (1) -> )lisp (directory "*.NRLIB\index.KAF")
> 
> Value = NIL
> (1) -> )lisp (directory "*.NRLIB\\index.KAF")
> 
> Value = NIL
> 
> But the following works:
> 
> (1) -> )sys ls *.NRLIB/index.KAF
> A1AGG-.NRLIB/index.KAF
> A1AGG.NRLIB/index.KAF
> ...
> 
> and this works:
> 
> (1) -> )lisp (directory "*.NRLIB")
> 
> Value = (#p"A1AGG-.NRLIB" #p"A1AGG.NRLIB" #p"ABELGRP-.NRLIB"
>          #p"ABELGRP.NRLIB" #p"ABELMON-.NRLIB" #p"ABELMON.NRLIB"
>          #p"ABELSG-.NRLIB" #p"ABELSG.NRLIB" #p"ACF-.NRLIB"
> ...
> 
> So I guess we can blame some limitation in the wildcard handling in
> paths on Windows. Do you think that it is not safe just to use '
> (directory "*.NRLIB")' ? I will change 'make-databases' to omit the
> '/index.KAF' part and try the build again.
> 

Just using '(directory "*.NRLIB")' will not work: you need to add
'index.KAF' part.  Basically, you would need to use the old
version of code.  But the old version was not portable between Lisp
implementations: some Lisps want '(directory "*.NRLIB/")' (with
final slash) and the results also vary widely.  Since we do want
to access 'index.KAF' file in the '.NRLIB' directory the
version '(directory "*.NRLIB/index.KAF")' exactly matches our
intent.  IMHO Windows version of GCL should also support such
names.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]