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 ins


From: Camm Maguire
Subject: Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions.
Date: 17 Jun 2002 09:55:33 -0400

Greetings!

"Vadim V. Zhytnikov" <address@hidden> writes:

> This is a multi-part message in MIME format.
> --------------030802040105020302020500
> Content-Type: text/plain; charset=KOI8-R; format=flowed
> Content-Transfer-Encoding: 8bit
> 
> 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:
> > 
> 
> <snip>
> 
> > Error: The package named COMMON-LISP-USER, does not exist
> > Error signalled by PROGN.
> > Broken at SYSTEM::BREAK-LEVEL.  Type :H for Help.
> > 
> 
> It is turned out that this problem is due to the way Maxima 5.6 make 
> procedure works.  Maxima files are compiled with saved_gcl (full GCL 
> with new packages) while saved_maxima is build with raw_gcl.
> I'm resending modified patch which takes care for this problem.
> Now make sequentially generates images
> 

OK, great, as we've stated elsewhere, all appears to work now with
5.6.  What aspect of your patch addressed this?  I don't understand
why I didn't break it with my modification, in which both final images
are called unixport/saved_gcl, so in the ansi case, should still
introduce the new symbols which could not then be found in raw_gcl at
final link time.  Is something else going on?

> (1) /unixport/raw_gcl
> (2) /unixport/saved_gcl
> (3) /pcl/saved_gcl_pcl
> (4) /clcs/saved_full_gcl
> (5) /unixport/saved_ansi_gcl
> 
> (1) and (2) are just old GCL without extra packages; (3) gcl+pcl;
> (4) gcl+pcl+clcs; (5) is (4) with new COMMON-LISP and COMMON-LISP-USER 
> packages. So finally we have two images saved_gcl and saved_ansi_gcl.
> This procedure works well with both Maxima 5.9.0 (new build system) and 
> Maxima 5.6.
> 

OK, Thanks!

> And some bad news.   Its seems that recent (June 12 and later) patches 
> broke something in gcl.  Saved_gcl seems to be OK.  But when I try to 
> build image with pcl the result is broken.  I can get the image but it 
> crashes is I enter anything erroneous.  So the attached patch works
> with June 10 CVS.
> 

As mentioned elsewhere, this is thankfully resolved now.  Thanks for
the report!

Take care,

> Best wishes,
> 
> Vadim
> 
> 
> 
> 
> --------------030802040105020302020500
> Content-Type: text/plain;
>  name="gcl.patch"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline;
>  filename="gcl.patch"
> 
> diff -uNr gcl-2.5.0-orig/clcs/makefile gcl-2.5.0/clcs/makefile
> --- gcl-2.5.0-orig/clcs/makefile      Sat Jun  8 09:59:04 2002
> +++ gcl-2.5.0/clcs/makefile   Fri Jun 14 16:01:38 2002
> @@ -1,6 +1,13 @@
>  
> -LISP=../unixport/saved_gcl
> +LISP=../pcl/saved_gcl_pcl
> +
>  compile: ${LISP}
> -     echo '(jamei-load-lcs :compile)' | ${LISP}
> +     echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs 
> :compile)' | ${LISP}
> +
> +saved_full_gcl: ${LISP}
> +     echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs 
> :compiled)(system::save-system "saved_full_gcl")' | ${LISP}
> +
> +clean:
> +     rm -f *.o
>  
>  -include ../makedefs
> diff -uNr gcl-2.5.0-orig/h/att_ext.h gcl-2.5.0/h/att_ext.h
> --- gcl-2.5.0-orig/h/att_ext.h        Sat Jun  8 09:59:09 2002
> +++ gcl-2.5.0/h/att_ext.h     Wed Jun 12 23:35:47 2002
> @@ -348,7 +348,6 @@
>  EXTER object lisp_package;
>  EXTER object user_package;
>  EXTER object common_lisp_package;
> -EXTER object common_lisp_user_package;
>  EXTER object keyword_package;
>  EXTER object system_package;
>  EXTER object sLApackageA;
> diff -uNr gcl-2.5.0-orig/h/notcomp.h gcl-2.5.0/h/notcomp.h
> --- gcl-2.5.0-orig/h/notcomp.h        Sat Jun  8 09:59:09 2002
> +++ gcl-2.5.0/h/notcomp.h     Wed Jun 12 23:35:47 2002
> @@ -21,7 +21,7 @@
>  EXTER int gc_enabled, saving_system;
>  
>  EXTER object lisp_package,user_package;
> -EXTER object common_lisp_package,common_lisp_user_package;
> +EXTER object common_lisp_package;
>  EXTER char *core_end;
>  EXTER int catch_fatal;
>  EXTER int real_maxpage;
> diff -uNr gcl-2.5.0-orig/makefile gcl-2.5.0/makefile
> --- gcl-2.5.0-orig/makefile   Sat Jun  8 09:59:04 2002
> +++ gcl-2.5.0/makefile        Fri Jun 14 16:20:30 2002
> @@ -20,6 +20,8 @@
>  LSPDIR       = lsp
>  CMPDIR       = cmpnew
>  PORTDIR      = unixport
> +CLCSDIR = clcs
> +PCLDIR = pcl
>  MPDIR        = mp
>  GMP_DIR = gmp/
>  
> @@ -31,6 +33,9 @@
>       (cd $(LSPDIR); make all)
>       (cd $(CMPDIR); make all)
>       (cd $(PORTDIR); make saved_gcl)
> +     (cd $(PCLDIR); make compile; make saved_gcl_pcl)
> +     (cd $(CLCSDIR); make compile; make saved_full_gcl)
> +     (cd $(PORTDIR); make saved_ansi_gcl)
>       make command
>  
>  #    After making successfully send in a notification to
> @@ -76,7 +81,7 @@
>  install-command:
>       rm -f $(DESTDIR)${prefix}/bin/gcl
>       (echo '#!/bin/sh' ; \
> -     echo exec ${INSTALL_LIB_DIR}/unixport/saved_gcl$(EXE) \\ ; \
> +     echo exec ${INSTALL_LIB_DIR}/unixport/saved_ansi_gcl$(EXE) \\ ; \
>       echo '   -dir' ${INSTALL_LIB_DIR}/unixport/ \\ ; \
>       echo '   -libdir' ${INSTALL_LIB_DIR}/ \\ ; \
>       echo '   -eval '\''(setq si::*allow-gzipped-file* t)'\' \\ ;\
> @@ -95,9 +100,9 @@
>       mkdir -p $(DESTDIR)${INSTALL_LIB_DIR}
>       make install-command "INSTALL_LIB_DIR=${INSTALL_LIB_DIR}" 
> "prefix=${prefix}" DESTDIR=$(DESTDIR)
>       rm -f $(DESTDIR)${prefix}/bin/gcl.exe
> -     tar cf - unixport/saved_gcl$(EXE) info/*.info* ${LISP_LIB} \
> +     tar cf - unixport/saved_ansi_gcl$(EXE) info/*.info* ${LISP_LIB} \
>       gcl-tk/gcl.tcl gcl-tk/gcltkaux$(EXE)  |  (cd 
> $(DESTDIR)${INSTALL_LIB_DIR} ;tar xf -)
> -     ln ${SYMB} ${INSTALL_LIB_DIR}/unixport/saved_gcl$(EXE) \
> +     ln ${SYMB} ${INSTALL_LIB_DIR}/unixport/saved_ansi_gcl$(EXE) \
>        $(DESTDIR)${prefix}/bin/gcl.exe
>       if [ -d "${TK_CONFIG_PREFIX}" ] ; then  \
>       cat gcl-tk/gcltksrv$(BAT) | \
> @@ -107,7 +112,7 @@
>       chmod a+x $(DESTDIR)${INSTALL_LIB_DIR}/gcl-tk/gcltksrv$(BAT) ; fi
>       if [ -d "${TK_CONFIG_PREFIX}" ] ; then  \
>       (cd $(DESTDIR)${INSTALL_LIB_DIR}/gcl-tk/demos ; \
> -     echo '(load "../tkl.o")(TK::GET-AUTOLOADS (directory "*.lisp"))' | 
> ../../unixport/saved_gcl$(EXE)) ; fi
> +     echo '(load "../tkl.o")(TK::GET-AUTOLOADS (directory "*.lisp"))' | 
> ../../unixport/saved_ansi_gcl$(EXE)) ; fi
>       (cd elisp ; make install DESTDIR=$(DESTDIR))
>       (cd info ; make ; make install DESTDIR=$(DESTDIR))
>  
> @@ -120,6 +125,7 @@
>       (cd $(PORTDIR); make clean)
>       (cd gcl-tk ; make clean)
>       -(cd gmp ; make distclean)
> +     (cd clcs ; make clean)
>       (cd info ; make clean)
>       rm -f foo.tcl config.log makedefs makedefsafter config.cache 
> config.status makedefc
>       rm -f h/config.h h/gclincl.h h/cmpinclude.h
> diff -uNr gcl-2.5.0-orig/o/package.d gcl-2.5.0/o/package.d
> --- gcl-2.5.0-orig/o/package.d        Sat Jun  8 09:59:10 2002
> +++ gcl-2.5.0/o/package.d     Wed Jun 12 23:35:47 2002
> @@ -1059,10 +1059,6 @@
>       common_lisp_package
>       = make_package(make_simple_string("COMMON-LISP"),
>                      Cnil, Cnil,47,509);
> -     common_lisp_user_package
> -     = make_package(make_simple_string("COMMON-LISP-USER"),
> -                    Cnil,
> -                    make_cons(common_lisp_package, Cnil),509,97);
>       keyword_package
>       = make_package(make_simple_string("KEYWORD"),
>                      Cnil, Cnil,11,509);
> diff -uNr gcl-2.5.0-orig/pcl/makefile gcl-2.5.0/pcl/makefile
> --- gcl-2.5.0-orig/pcl/makefile       Thu Jan  1 03:00:00 1970
> +++ gcl-2.5.0/pcl/makefile    Fri Jun 14 16:00:04 2002
> @@ -0,0 +1,41 @@
> +# makefile for making pcl -- W. Schelter.
> +
> +#  Directions:
> +# make -f makefile.gcl compile
> +# make -f makefile.gcl saved_pcl
> +
> +
> +LISP=../unixport/saved_gcl
> +
> +
> +SETUP='(load "sys-package.lisp")' \
> +     '(setq *features* (delete (quote kcl) *features*))'\
> +     '(load "defsys.lisp")(push (quote kcl) *features*)' \
> +     '(setq pcl::*default-pathname-extensions* (cons "lisp" "o"))' \
> +     '(setq pcl::*pathname-extensions* (cons "lisp" "o"))' \
> +     '(load "sys-proclaim.lisp")(compiler::emit-fn t)'
> +
> +compile:
> +     echo ${SETUP} '(pcl::compile-pcl)' | ${LISP}
> +
> +saved_gcl_pcl:
> +     echo ${SETUP} '(pcl::load-pcl)(si::save-system "saved_gcl_pcl")' | 
> ${LISP}
> +
> +clean:
> +     rm -f *.o *.fn
> +
> +
> +# remake the sys-package.lisp and sys-proclaim.lisp files
> +# Those files may be empty on a first build.
> +remake-sys-files:
> +     echo ${SETUP} '(pcl::load-pcl)(in-package "PCL")(renew-sys-files)' | 
> ${LISP}
> +     cp sys-proclaim.lisp xxx
> +     cat xxx | sed -e "s/COMPILER::CMP-ANON//g" > sys-proclaim.lisp
> +     rm xxx
> +
> +
> +tar:
> +     make -f makefile.gcl  tar1 DIR=`pwd`
> +
> +tar1:
> +     (cd .. ; tar cvf - `basename ${DIR}` | gzip -c > `basename ${DIR}`.tgz) 
> diff -uNr gcl-2.5.0-orig/unixport/ansi_cl.lisp gcl-2.5.0/unixport/ansi_cl.lisp
> --- gcl-2.5.0-orig/unixport/ansi_cl.lisp      Thu Jan  1 03:00:00 1970
> +++ gcl-2.5.0/unixport/ansi_cl.lisp   Fri Jun 14 16:09:30 2002
> @@ -0,0 +1,98 @@
> +(setq clcs_shadow
> + '(CONDITIONS::BREAK
> +   CONDITIONS::ERROR
> +   CONDITIONS::CERROR
> +   CONDITIONS::WARN
> +   CONDITIONS::CHECK-TYPE
> +   CONDITIONS::ASSERT
> +   CONDITIONS::ETYPECASE
> +   CONDITIONS::CTYPECASE
> +   CONDITIONS::ECASE
> +   CONDITIONS::CCASE ))
> +
> +(setq lisp_unexport
> + '(LISP::LAMBDA-BLOCK-CLOSURE
> +   LISP::BYE
> +   LISP::QUIT
> +   LISP::EXIT
> +   LISP::IEEE-FLOATING-POINT
> +   LISP::DEFENTRY
> +   LISP::VOID
> +   LISP::ALLOCATE-CONTIGUOUS-PAGES
> +   LISP::UNSIGNED-SHORT
> +   LISP::DOUBLE
> +   LISP::BY
> +   LISP::GBC
> +   LISP::DEFCFUN
> +   LISP::SAVE
> +   LISP::MAXIMUM-CONTIGUOUS-PAGES
> +   LISP::SPICE
> +   LISP::DEFLA
> +   LISP::ALLOCATED-PAGES
> +   LISP::SUN
> +   LISP::INT
> +   LISP::USE-FAST-LINKS
> +   LISP::CFUN
> +   LISP::UNSIGNED-CHAR
> +   LISP::HELP
> +   LISP::HELP*
> +   LISP::MACRO
> +   LISP::*BREAK-ENABLE*
> +   LISP::CLINES
> +   LISP::LAMBDA-CLOSURE
> +   LISP::OBJECT
> +   LISP::FAT-STRING
> +   LISP::SIGNED-SHORT
> +   LISP::MC68020
> +   LISP::LAMBDA-BLOCK
> +   LISP::TAG
> +   LISP::PROCLAMATION
> +   LISP::ALLOCATED-CONTIGUOUS-PAGES
> +   LISP::*EVAL-WHEN-COMPILE*
> +   LISP::SIGNED-CHAR
> +   LISP::*IGNORE-MAXIMUM-PAGES*
> +   LISP::*LINK-ARRAY*
> +   LISP::KCL
> +   LISP::BSD
> +   LISP::ALLOCATE-RELOCATABLE-PAGES
> +   LISP::ALLOCATE
> +   LISP::UNIX
> +   LISP::MAXIMUM-ALLOCATABLE-PAGES
> +   LISP::ALLOCATED-RELOCATABLE-PAGES
> +   LISP::SYSTEM
> +   LISP::KYOTO
> +   LISP::CCLOSURE))
> +
> +(do-external-symbols (s "LISP")
> +  (if (not(member s lisp_unexport))
> +      (progn 
> +        (import (list s) "COMMON-LISP")
> +        (import (list s) "USER")) ))
> +
> +(do-external-symbols (s "PCL")
> +  (import (list s) "COMMON-LISP")
> +  (import (list s) "USER"))
> +
> +(do-external-symbols (s "CONDITIONS")
> +  (if (member s clcs_shadow)
> +      (progn 
> +        (shadowing-import (list s) "COMMON-LISP")
> +        (shadowing-import (list s) "USER"))
> +      (progn
> +        (import (list s) "COMMON-LISP")
> +        (import (list s) "USER"))))
> +
> +(do-symbols (s "COMMON-LISP")
> +  (export (list s) "COMMON-LISP"))
> +  
> +(makunbound 'clcs_shadow)
> +(makunbound 'lisp_unexport)
> +(unintern 'clcs_shadow)
> +(unintern 'lisp_unexport)
> +(unintern 'int)
> +
> +
> (rename-package 'common-lisp 'common-lisp '(cl))
> +(rename-package 'user 'common-lisp-user '(cl-user user))
> +
> +(si::save-system "saved_ansi_gcl")
> +
> diff -uNr gcl-2.5.0-orig/unixport/makefile gcl-2.5.0/unixport/makefile
> --- gcl-2.5.0-orig/unixport/makefile  Sat Jun  8 09:59:10 2002
> +++ gcl-2.5.0/unixport/makefile       Fri Jun 14 16:09:11 2002
> @@ -4,6 +4,8 @@
>  LSPDIR       = ../lsp
>  CMPDIR       = ../cmpnew
>  PORTDIR      = ../unixport
> +CLCSDIR = ../clcs
> +PCLDIR = ../pcl
>  MPDIR        = ../mp
>  GMP_DIR      = ../gmp/
>  
> @@ -74,6 +76,9 @@
>       $(CMPDIR)/cmpvar.o $(CMPDIR)/cmpvs.o $(CMPDIR)/cmpwt.o
>  
>  SYSTEM=gcl
> +
> +saved_ansi_gcl: ansi_cl.lisp
> +     $(CLCSDIR)/saved_full_gcl < ansi_cl.lisp
>  
>  $(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp
>       cp $< $@
> 
> --------------030802040105020302020500--
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

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