Bill Page wrote:
> Here is the result of the test. It seems, as you say, that for some
> reason 'make-databases' is not loading any of the *.NRLIB. But oddly,
> I can load them manually by the ')lib' command and if I do, then the
> error message shifts to the next *.NRLIB. For example:
>
>
> -------
>
> [EMAIL PROTECTED] ~/wh-test/src/algebra
> $ export AXIOM=C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32
>
> [EMAIL PROTECTED] ~/wh-test/src/algebra
> $ ls $AXIOM
> algebra autoload bin doc lib share src timestamp
>
> [EMAIL PROTECTED] ~/wh-test/src/algebra
> $ export DAASE=C:/msys/1.0/home/Administrator/wh-sandbox/src/share
>
> [EMAIL PROTECTED] ~/wh-test/src/algebra
> $ ../../build/i686-pc-mingw32/bin/interpsys.exe
> GCL (GNU Common Lisp) 2.6.8 CLtL1 Apr 16 2007 00:20:36
> Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
> Binary License: GPL due to GPL'ed components: (UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
>
> Use (help) to get some basic information on how to use GCL.
> Temporary directory for compiler files set to
> C:/DOCUME~1/ADMINI~1.ASU/LOCALS~1/Temp/
> AXIOM Computer Algebra System
> Version: Axiom wh-sandbox branch 2007-05-31
> Timestamp: no timestamp
> -----------------------------------------------------------------------------
> Issue )copyright to view copyright notices.
> Issue )summary for a summary of useful system commands.
> Issue )quit to leave AXIOM and return to shell.
> -----------------------------------------------------------------------------
>
> Using local database
> C:/msys/1.0/home/Administrator/wh-sandbox/src/share/algebra/compress.daase..
> Using local database
> C:/msys/1.0/home/Administrator/wh-sandbox/src/share/algebra/interp.daase..
> Using local database
> C:/msys/1.0/home/Administrator/wh-sandbox/src/share/algebra/operation.daase..
> Using local database
> C:/msys/1.0/home/Administrator/wh-sandbox/src/share/algebra/category.daase..
> Using local database
> C:/msys/1.0/home/Administrator/wh-sandbox/src/share/algebra/browse.daase..
> (1) -> )lisp (make-databases "" nil)
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/apply.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/c-doc.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/c-util.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/profile.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/category.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/compiler.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/define.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/functor.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/info.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/iterator.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/modemap.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/nruncomp.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/package.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/htcheck.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/bc-matrix.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/bc-misc.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/bc-solve.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/bc-util.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/ht-util.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/htsetvar.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/ht-root.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-con.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-data.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/showimp.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-op1.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-op2.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-search.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-util.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/topics.
> (1) ->
>
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-prof.
> Loading
> C:/msys/1.0/home/Administrator/wh-test/target/i686-pc-mingw32/autoload/br-saturn.
>
> "building browse.daase"
> "building operation.daase"
> "building category.daase"
> >> System error:
> The function |SetCategory| is undefined.
>
> (1) -> )sh SetCategory
> SetCategory is a category constructor
> Abbreviation for SetCategory is SETCAT
> This constructor is exposed in this frame.
> Issue )edit NIL to see algebra source code for SETCAT
>
> ------------------------------- Operations --------------------------------
> ?=? : (%,%) -> Boolean coerce : % -> OutputForm
>
> (1) -> )lib SETCAT
> SetCategory is now explicitly exposed in frame initial
> SetCategory will be automatically loaded when needed from
> /msys/1.0/home/Administrator/wh-test/src/algebra/SETCAT.NRLIB/code
>
> ...
>
> (1) -> )lisp (make-databases "" nil)
> Loading ...
>
> "building browse.daase"
> "building operation.daase"
> "building category.daase" Loading
> /msys/1.0/home/Administrator/wh-test/src/algebra/SETCAT.NRLIB/code
> for SetCategory
>
> >> System error:
> The function |BasicType| is undefined.
>
> (1) -> )lib BASTYPE
> BasicType is now explicitly exposed in frame initial
> BasicType will be automatically loaded when needed from
> /msys/1.0/home/Administrator/wh-test/src/algebra/BASTYPE.NRLIB/code
> (1) -> )lisp (make-databases "" nil)
>
> "building browse.daase"
> "building operation.daase"
> "building category.daase" Loading
> /msys/1.0/home/Administrator/wh-test/src/algebra/BASTYPE.NRLIB/code
> for BasicType
>
> >> System error:
> The function |CoercibleTo| is undefined.
>
> etc.
>
> ---------------
>
> So, it seems like some crucial initialization if missing that prevents
> 'make-databases' from finding and loading all the *.NRLIB. I have
> looked at the Lisp code in 'daase.lisp.pamphlet' but how this is
> supposed to work remains completely obscure to me. What changes when I
> issue the ')lib' command that allows 'make-databases' to then find and
> load the modules?
>
The fact that ')lib' helps is unintended side effect (bug). 'make-databases'
should clean all old information and use only new one, but currently it
does not clean autoload info. Usually this is not a big problem, but
is showed up during database bootstrap.
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
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). 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.
--
Waldek Hebisch
[EMAIL PROTECTED]
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer