[comp.lang.clos] PCL troubles

whatis@gnu.ai.mit.edu (....What Is?....) (06/26/91)

Hi, I'm using tarfile-rev-4b from arisia.xerox.com:/pcl and AKCL-1-530 from
cli.com, on an HP 9000 (the GNU machines).

I'm using the following makefile to compile PCL:

# makefile by Schelter for use with akcl (version 492) and pcl (may 1 1990).
# to compile type 'make'.  Later to make a saved image type make saved_pcl

LISP=kcl

PRELIMS= '(in-package "PCL")(setq *pathname-extensions* (cons "lisp" "o"))' \
	'(setq *pcl-directory* (truename "./"))(load "defsys.lisp") '

# for may1 1990 pcl:
pcl-90: fixed-for-akcl 
	echo '(setq compiler::*compile-ordinaries* t)' \
	$(PRELIMS)'(pcl::compile-pcl)' | ${LISP}

# patch the kcl-low.lisp--just a little C error. 
fixed-for-akcl:
	mv kcl-low.lisp kcl-low.lisp.orig
	cat kcl-low.lisp.orig | sed -e "s:->cc_env:->cc.cc_env:g" > kcl-low.lisp
	date > fixed-for-akcl

saved_pcl:
	echo ${PRELIMS} '(pcl::load-pcl)' \
	'(si::save-system "saved_pcl")' | ${LISP}

It works fine for a while, then it tries to compile "gazonk0.lsp" over and over.
There are no gazonk* files in the distribution at all.  If I make a fake
gazonk0.lsp, it tries gazonk1.lsp and keeps incrementing the number as I
make more fake files.  Only one file in the distribution has "gazonk" in it,
and it's a comment.

If you have any ideas why this is happening, please let me know!  I've got
a large Lisp project I'm doing this summer & I wanted to write it in CLOS.

Thanks in advance!

Steve Boswell         | This opinion is distributed in the hopes that it
whatis@ucsd.edu       | will be useful, but WITHOUT ANY WARRANTY...
whatis@gnu.ai.mit.edu |

Gregor@parc.xerox.COM (Gregor Kiczales) (06/26/91)

   Organization: The Ohio State University Department of Computer and Information Science
   Date:	Tue, 25 Jun 1991 20:20:42 -0700
   From:	whatis@gnu.ai.mit.edu (....What Is?....)

   It works fine for a while, then it tries to compile "gazonk0.lsp"
   over and over. 

This might not actually be a problem.  Have you tried giving it more
time to finish?

PCL, when it is run, needs to compile a bunch of little pieces of code
"on the fly."  These pieces of code are what implement the method
dispatch for each "kind" of generic function.  So, PCL ends up calling
the COMPILE function a lot, particularly when it is started up.  Now, in
KCL, where the Lisp compiler is built on the C compiler, the COMPILE
function first writes the code out to a file called gazonkn, and then
compiles that file.  So, all you are seeing is the normal behavior of
PCL as it finishes compiling itself.

Once you get PCL compiled, you can eliminate some of this overhead the
next time you load it using the PCL-specific utility PRECOMPILE-RANDOM-
CODE-SEGMENTS.  See the notes.text file for information about this.

Gregor