gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] conditions/clos/gcl unified build patch and inst


From: Vadim V. Zhytnikov
Subject: Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions.
Date: Fri, 14 Jun 2002 08:44:37 +0300
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.0.0) Gecko/20020526

Camm Maguire пишет:
 > Hi Vadim!  And thanks for the patch!
 >
 > We're almost there.  I'm using maxima-5.6 for tests as that the most
 > recent stable release.  And at the final initialization, this is what
 > I get:
 >
 >
=============================================================================
 >
 > cat init_maxima.lsp | \
 > sed -e "s"DATE"Version(`cat ../majvers`.`cat ../minvers`) `date`g" \
 > -e 'ssaved_gclsaved_maximag' \
 > -e 'slinks t)links t)(setq compiler::*cc* "gcc -pipe -fwritable-strings  
-DVOL=volatile
-I/home/camm/gcl/vadim/o -fsigned-char")(si::build-symbol-table)g' \
 > -e "sGCLDIR/home/camm/gcl/vadimg" \
 > -e "s(defun lisp-imp(setq si::*gcl-version* `cat ../minvers` 
si::*gcl-major-version* `cat
../majvers`)(defun lisp-impg" \
 > -e "s:GCL-1:GCL-"`cat ../majvers`":g"         > foo
 > /home/camm/gcl/vadim/unixport/raw_maxima
/home/camm/gcl/vadim/unixport/ -libdir /home/camm/gcl/vadim/ < foo
 > GCL (GNU Common Lisp)  April 1994  32768 pages
 > loading ../lsp/export.lsp
 > Initializing ../lsp/defmacro.o
 > Initializing ../lsp/evalmacros.o
 > Initializing ../lsp/top.o
 > Initializing ../lsp/module.o
 > loading ../lsp/autoload.lsp
 >
 >
 > #<"COMPILER" package>
 >
 > COMPILER>
 > #<"SYSTEM" package>
 >
 > SYSTEM>
 > *COMMAND-ARGS*
 >
 > SYSTEM>
 > #<"USER" package>
 >
 > #<"LISP" package>
 >
 > LISP>
 > #<"SLOOP" package>
 >
 > SLOOP>
 > 6
 >
 > SLOOP>
 > #<"USER" package>
 >
 > Loading ../gcl-tk/tk-package.lsp
 > Finished loading ../gcl-tk/tk-package.lsp
 > T
 >
 >
 >>Initializing ../lsp/predlib.o
 >
 > Initializing ../lsp/setf.o
 > Initializing ../lsp/arraylib.o
 > Initializing ../lsp/assert.o
 > Initializing ../lsp/defstruct.o
 > Initializing ../lsp/describe.o
 > Initializing ../lsp/iolib.o
 > Initializing ../lsp/listlib.o
 > Initializing ../lsp/mislib.o
 > Initializing ../lsp/numlib.o
 > Initializing ../lsp/packlib.o
 > Initializing ../lsp/seq.o
 > Initializing ../lsp/seqlib.o
 > Initializing ../lsp/trace.o
 > Initializing ../lsp/sloop.o
 > Initializing ../lsp/serror.o
 > Initializing ../lsp/destructuring_bind.o
 > Initializing ../lsp/loop.o
 > Initializing ../lsp/defpackage.o
 > Initializing ../lsp/make_defpackage.o
 > Initializing ../cmpnew/cmpinline.o
 > Initializing ../cmpnew/cmputil.o
 > Initializing ../lsp/debug.o
 > Initializing ../lsp/info.o
 > Initializing ../cmpnew/cmptype.o
 > Initializing ../cmpnew/cmpbind.o
 > Initializing ../cmpnew/cmpblock.o
 > Initializing ../cmpnew/cmpcall.o
 > Initializing ../cmpnew/cmpcatch.o
 > Initializing ../cmpnew/cmpenv.o
 > Initializing ../cmpnew/cmpeval.o
 > Initializing ../cmpnew/cmpflet.o
 > Initializing ../cmpnew/cmpfun.o
 > Initializing ../cmpnew/cmpif.o
 > Initializing ../cmpnew/cmplabel.o
 > Initializing ../cmpnew/cmplam.o
 > Initializing ../cmpnew/cmplet.o
 > Initializing ../cmpnew/cmploc.o
 > Initializing ../cmpnew/cmpmap.o
 > Initializing ../cmpnew/cmpmulti.o
 > Initializing ../cmpnew/cmpspecial.o
 > Initializing ../cmpnew/cmptag.o
 > Initializing ../cmpnew/cmptop.o
 > Initializing ../cmpnew/cmpvar.o
 > Initializing ../cmpnew/cmpvs.o
 > Initializing ../cmpnew/cmpwt.o
 >
 > Loading maxima-package.lisp
 > Finished loading maxima-package.lisp
 > Initializing /fix/f/debian/mm/maxima/maxima-5.6/src/lmdcls.o
 >
 > Error: The package named COMMON-LISP-USER, does not exist
 > Error signalled by PROGN.
 > Broken at SYSTEM::BREAK-LEVEL.  Type :H for Help.
 >
 >>>make[2]: Leaving directory `/fix/c/home/camm/gcl/vadim/unixport'
 >>
 >
=============================================================================
 >
 >
 > I think this is simply because we need some of your setup code for the
 > new packages in some standard place where maxima can find it.  I
 > haven't looked at the patch yet in detail -- do you use init_gcl.lisp?
 > This should be a really minor fix, I think, so perhaps we could
 > discuss what would be the best resolution and commit into cvs soon.
 >

Fine, now at least I understand the difference - I tried to build
maxima 5.9.0-cvs. I'll take a look at 5.6 tomorrow.
But do we really want to maintain gcl 2.5.0 compatible with
maxima 5.6?  We have 2.4 branch for it.  In fact official Maxima 5.6
is not very much stabler than current Maxima cvs.

 > 1)  Do we want CLOS to be an autoloadable option?
 >
 > 2)  Do we want CLOS to be a configure '--enabled' option?
 >
I'm not certain about autoloading. Is it time consuming to implement?
If yes then we can do it later. Maybe it is good idea to have some
--enable configure option to build either old style gcl
(no clsc, no pcl, LISP and USER packages) or gcl with new packages
layout including pcl, clcs, COMMON-LISP ...
I just realised that also that presently the patch does some nasty things
with saved_gcl images. First unixport/raw_gcl is created, then
we use it to compile files in /lsp directory and to build
/unixport/saved_gcl. Then it is used to compile and build
/pcl/saved_gcl. Then this image is used to compile and build
final /clcs/saved_gcl. And finally /clcs/saved_gcl is copied
into /unixport/saved_gcl. We should not do the last step!
It breaks make logic completely. If we modify some .lsp file in
/lsp and make make then modified file compiles with this final
saved_gcl.

 > 3)  CLOCC test suite results with this build?

It still stops abnormally in several places. The rest of
tests passes producing enormous number of non ansi
features. We have a lot of work to do ;-)

 > Shall we import that
 >     tree too?

Maybe. Do CLOCC people work actively on ansi-test? Probably not.
So maybe it can be imported to have it near at hand for our convenience.

 >
 >

Before committing all this stuff to GCL CVS several things must be done:

1) Ensure that Maxima 5.9.0 CVS builds and passes all tests.

2) The same for Maxima 5.6 (I'm not sure do we really need this?).

3) Understand what is the purpose of functions which was shadowing-imported from CONDITIONS. Are they OK?
What the difference from older versions?
This is probably directly related to the broken
Maxima's errcatch.

4) Take a closer look nonANSIines which ansi-test
reveals.

Best wishes,

Vadim







reply via email to

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