diff --git a/Makefile.pamphlet b/Makefile.pamphlet
index bae550e..18105ad 100644
--- a/Makefile.pamphlet
+++ b/Makefile.pamphlet
@@ -751,6 +751,7 @@ forget to erase the lsp/Makefile the wrong patches will be applied.
 #GCLVERSION=gcl-2.6.7
 GCLVERSION=gcl-2.6.8pre
 #GCLVERSION=gcl-2.6.8pre2
+#GCLVERSION=gcl-2.6.8pre3 
 @
 
 \subsubsection{The [[GCLOPTS]] configure variable}
@@ -1508,6 +1509,52 @@ all: rootdirs noweb srcsetup lspdir srcdir
 <<clean>>
 
 @
+\subsection{Makefile.ubuntu64}
+<<Makefile.ubuntu64>>=
+# System dependent Makefile for the Intel/Linux platform
+# Platform variable
+PLF=LINUXplatform
+# C compiler flags
+CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} -I/usr/X11/include"
+# Loader flags
+LDF=" -L/usr/X11R6/lib -L/usr/lib ${XLIB}/libXpm.a "
+# C compiler to use
+CC=gcc 
+AWK=gawk
+RANLIB=ranlib
+TOUCH=touch
+TAR=tar
+AXIOMXLROOT=${AXIOM}/compiler
+O=o
+BYE=bye
+LISP=lsp
+DAASE=${SRC}/share
+# where the libXpm.a library lives
+XLIB=/usr/lib
+<<GCLOPTS-LOCBFD>>
+<<SRCDIRS>>
+PATCH=patch
+
+ENV=PLF=${PLF} CCF=${CCF} LDF=${LDF} CC=${CC} AWK=${AWK} RANLIB=${RANLIB} \
+    TOUCH=${TOUCH} TAR=${TAR} AXIOMXLROOT=${AXIOMXLROOT} O=${O} BYE=${BYE} \
+    LISP=${LISP} DAASE=${DAASE} XLIB=${XLIB} GCLOPTS=${GCLOPTS} \
+    SRCDIRS=${SRCDIRS} PATCH=${PATCH}
+
+all: rootdirs noweb srcsetup lspdir srcdir
+	@echo 45 Makefile.linux called
+	@echo 46 Environment : ${ENV} 
+	@echo 47 finished system build on `date` | tee >lastBuildDate
+
+<<rootdirs>>
+<<noweb>>
+<<literate commands>>
+<<srcsetup>>
+<<src>>
+<<lsp>>
+<<document>>
+<<clean>>
+
+@
 \subsection{Makefile.macosxppc}
 <<Makefile.macosxppc>>=
 # System dependent Makefile for the MAC/BSD platform
diff --git a/changelog b/changelog
index 7552f27..160ae63 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,21 @@
+20081122 tpd zips/gcl-2.6.8pre3.unixport.makefile.patch added
+20081122 tpd zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch added
+20081122 tpd zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch added
+20081122 tpd zips/gcl-2.6.8pre3.configure.in.patch added
+20081122 tpd zips/gcl-2.6.8pre3.configure.patch added
+20081122 tpd zips/gcl-2.6.8pre3.h.linux.defs.patch added
+20081122 tpd zips/gcl-2.6.8pre3.tgz added
+20081122 tpd lsp/Makefile add gcl-2.6.8pre3 chunks
+20081122 tpd src/input/Makefile fix parallel race condition. don't rm files.
+20081122 tpd Makefile add ubuntu64 chunk
+20081121 tpd src/algebra/Makefile remove annacat.spad
+20081121 tpd src/algebra/annacat.spad move domains to bookvol10.3, delete
+20081121 tpd src/algebra/alql.spad move domains to bookvol10.3
+20081121 tpd src/algebra/Makefile remove algext.spad
+20081121 tpd src/algebra/algext.spad move domains to bookvol10.3, delete
+20081121 tpd src/algebra/acplot.spad move domains to bookvol10.3
+20081119 tpd src/input/Makefile fix parallel test
+20081119 tpd books/Makefile.pamphlet add toc entries for toc.pdf
 20081119 tpd Makefile modify VERSION number for release
 20081119 tpd Makefile.pamphlet modify VERSION number for release
 20081119 tpd books/ps/v71releasenotes.eps modified for november 2008 release
diff --git a/lsp/Makefile.pamphlet b/lsp/Makefile.pamphlet
index 63618c7..0743ff6 100644
--- a/lsp/Makefile.pamphlet
+++ b/lsp/Makefile.pamphlet
@@ -209,6 +209,14 @@ but, since no initialization is needed, we simply create empty files.
 	  touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \
 	  touch ${OBJ}/${SYS}/lib/sockio-c.ini )
 @
+<<gcl-2.6.8pre3.socket.patch>>=
+	@(cd ${GCLVERSION}/h ; \
+	  echo 3 applying EXTRAS patch to h/linux.defs ; \
+	  ${PATCH} <${SPD}/zips/${GCLVERSION}.h.linux.defs.patch )
+	@(echo 4 setup ini files for EXTRAS patch ; \
+	  touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \
+	  touch ${OBJ}/${SYS}/lib/sockio-c.ini )
+@
 \subsubsection{fortran patch}
 Communication over sockets (basically to the NAG fortran library)
 requires us to have XDR enabled.
@@ -290,6 +298,11 @@ The for-loop change has been included in the sources.
 	  echo 6 applying libspad.a patch to unixport/makefile ; \
 	  ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.makefile.patch )
 @
+<<gcl-2.6.8pre3.libspad.patch>>=
+	@(cd ${GCLVERSION}/unixport ; \
+	  echo 6 applying libspad.a patch to unixport/makefile ; \
+	  ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.makefile.patch )
+@
 \subsubsection{toploop patch}
 This patch turns off the banner display every time GCL starts.
 We could use the -batch flag but that would be a pervasive change.
@@ -353,6 +366,11 @@ for the compiler will be. We eliminate this noise as well as the banner.
 	  echo 7 applying toploop patch to unixport/init_gcl.lsp ; \
 	  ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.init_gcl.lsp.in.patch )
 @
+<<gcl-2.6.8pre3.toploop.patch>>=
+	@(cd ${GCLVERSION}/unixport ; \
+	  echo 7 applying toploop patch to unixport/init_gcl.lsp ; \
+	  ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.init_gcl.lsp.in.patch )
+@
 \subsubsection{object to float patch}
 GCL 2.5.2 contains no reference to this function and it was removed.
 Axiom uses this function so we re-implement it here.
@@ -569,6 +587,14 @@ file contains the proclaims for GCL's function definitions.
 	  echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \
 	  cp sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp )
 @
+<<gcl-2.6.8pre3.collectfn.fix>>=
+	@(cd ${GCLVERSION}/cmpnew ; \
+	  echo 26 copy gcl_collectfn.lsp to ${OBJ}/${SYS}/lsp/collectfn.lsp ; \
+	  cp gcl_collectfn.lsp ${OBJ}/${SYS}/lsp/collectfn.lsp )
+	@(cd ${GCLVERSION}/lsp ; \
+	  echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \
+	  cp sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp )
+@
 \subsection{The GCL-2.5.2 stanza}
 \subsubsection{Configure and Make GCL}
 We enable several features of GCL. 
@@ -1178,6 +1204,47 @@ clean:
 	@( cd ccl ; ${ENV} ${MAKE} clean )
 
 @
+\subsection{The GCL-2.6.8pre3 stanza}
+This stanza will be written when the GCLVERSION variable is
+``gcl-2.6.8pre3''. It will overwrite the default version. See the 
+top level Makefile.pamphlet.
+<<gcl-2.6.8pre3>>=
+# gcl version 2.6.8pre3
+OUT=${OBJ}/${SYS}/bin
+
+all:
+	@echo 1 building ${LSP} ${GCLVERSION}
+
+gcldir: 
+	@echo 2 building ${GCLVERSION}
+	@tar -zxf ${ZIPS}/${GCLVERSION}.tgz
+<<gcl-2.6.8pre3.socket.patch>>
+<<gcl-2.6.8pre3.libspad.patch>>
+<<gcl-2.6.8pre3.toploop.patch>>
+<<gcl-2.6.8pre3.collectfn.fix>>
+<<gclConfigureMake>>
+	@echo 13 finished system build on `date` | tee >gcldir
+
+ccldir: ${LSP}/ccl/Makefile
+	@echo 14 building CCL
+	@mkdir -p ${INT}/ccl
+	@mkdir -p ${OBJ}/${SYS}/ccl
+	@( cd ccl ; ${ENV} ${MAKE} )
+
+${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet
+	@echo 15 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet
+	@( cd ccl ; ${DOCUMENT} ${NOISE} Makefile )
+
+document:
+	@echo 16 making docs in ${LSP}
+	@mkdir -p ${INT}/doc/lsp/ccl
+	@( cd ccl ; ${ENV} ${MAKE} document )
+
+clean:
+	@echo 17 cleaning ${LSP}/ccl
+	@( cd ccl ; ${ENV} ${MAKE} clean )
+
+@
 \section{Gnu Common Lisp 2.5}
 GCL 2.5 requires a different Makefile. In particular, GCL 2.5
 has a different method of building the lisp image. And, just to
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index f8620d9..0d3b6b7 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -398,21 +398,24 @@ The curious use of {\tt egrep} in the pipeline is to remove the
 spurious differences caused by the Version and Timestamp lines
 in the standard Axiom banner. These cause mismatches in otherwise
 identical output.
+
+The input files are not removed because this parallel builds
+create race conditions.
 <<regression tests>>=
 %.output: %.input
-	@ echo running test file $* using $*${TMPFN}.input 
-	@ echo ')set message test on' > $*${TMPFN}.input 
-	@ echo ')set message auto off' >> $*${TMPFN}.input 
-	@ echo ')read $*' >> $*${TMPFN}.input 
-	@ echo ')lisp (bye)' >> $*${TMPFN}.input 
+	@ echo generic 17 running test file $* using $*.input 
+	@ echo ')set message test on' > $*.input 
+	@ echo ')set message auto off' >> $*.input 
+	@ echo ')read $*' >> $*.input 
+	@ echo ')lisp (bye)' >> $*.input 
 	@ if [ -z "${NOISE}" ] ; then \
-	   echo ")read $*${TMPFN}.input" | ${TESTSYS} \
+	   echo ")read $*.input" | ${TESTSYS} \
                 | egrep -v '(Timestamp|Version)' | tee $*.output ; \
 	  else \
-	   echo ")read $*${TMPFN}.input" | ${TESTSYS} \
+	   echo ")read $*.input" | ${TESTSYS} \
                 | egrep -v '(Timestamp|Version)' > $*.output ; \
 	  fi 
-	@ rm $*${TMPFN}.input 
+#	@ rm $*.input 
 
 @
 A regression test file will run the input file. Each input file
diff --git a/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch b/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch
new file mode 100644
index 0000000..c2905ce
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch
@@ -0,0 +1,15 @@
+--- gcl_cmpflet.lsp	Sun Jul 24 12:54:29 2005
++++ gcl_cmpflet.lsp.tpd	Sun Jul 24 13:44:18 2005
+@@ -390,8 +390,10 @@
+           (wt-label *exit*))
+     (unwind-no-exit 'tail-recursion-mark)
+     (wt-nl "goto TTL;")
+-    (cmpnote "Tail-recursive call of ~s was replaced by iteration."
+-             (fun-name (car fd))))
++; 20031022000 tpd we don't need to know this
++;    (cmpnote "Tail-recursive call of ~s was replaced by iteration."
++;             (fun-name (car fd)))
++    )
+    (t (push-args args)
+       (wt-nl (c-function-name "L" (fun-cfun (car fd)) (fun-name (car fd))) "(")
+       (dotimes** (n (fun-level (car fd))) (wt "base" n ","))
diff --git a/zips/gcl-2.6.8pre3.configure.in.patch b/zips/gcl-2.6.8pre3.configure.in.patch
new file mode 100644
index 0000000..fd4e8c1
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.configure.in.patch
@@ -0,0 +1,11 @@
+--- configure.in	Sat Jan 15 14:17:17 2005
++++ configure.in.tpd	Tue Jan 17 09:32:15 2006
+@@ -538,7 +538,7 @@
+ 	# results, and the version is kept in special file).
+     
+ 	if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+-	    system=MP-RAS-`${AWK} '{print $3}' /etc/.relid'`
++	    system=MP-RAS-`${AWK} '{print $3}' '/etc/.relid'`
+ 	fi
+ 	if test "`uname -s`" = "AIX" ; then
+ 	    system=AIX-`uname -v`.`uname -r`
diff --git a/zips/gcl-2.6.8pre3.configure.patch b/zips/gcl-2.6.8pre3.configure.patch
new file mode 100644
index 0000000..131a382
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.configure.patch
@@ -0,0 +1,11 @@
+--- configure	Sat Jan 15 14:17:17 2005
++++ configure.tpd	Sun Apr 16 23:12:48 2006
+@@ -6187,7 +6187,7 @@
+ echo "configure:6188: checking emacs site lisp directory" >&5
+ if [ "$EMACS_SITE_LISP" = "unknown" ] ; then
+ 	if [ "$EMACS" != "" ] ; then
+-		EMACS_SITE_LISP=`$EMACS -q -batch --no-site-file -l conftest.el 2>&1 | sed -e /Loading/d | sed -e /load/d `
++		EMACS_SITE_LISP=`$EMACS -q -batch --no-site-file -l conftest.el 2>&1 | grep -v ^Warning: | sed -e /Loading/d | sed -e /load/d `
+ 	else
+ 		EMACS_SITE_LISP=""
+ 	fi
diff --git a/zips/gcl-2.6.8pre3.h.linux.defs.patch b/zips/gcl-2.6.8pre3.h.linux.defs.patch
new file mode 100644
index 0000000..fdefaff
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.h.linux.defs.patch
@@ -0,0 +1,13 @@
+--- linux.defs	Sun Jul 24 12:55:14 2005
++++ linux.defs.tpd	Sun Jul 24 13:55:26 2005
+@@ -8,6 +8,10 @@
+ 
+ # Machine dependent makefile definitions for intel 386,486 running linux
+ 
++# 20031022000 tpd link Axiom's code into the image
++EXTRAS = ${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o
++OFLAG = -O
++
+ LBINDIR=/usr/local/bin
+ 
+ #OFLAG	=  -g -Wall
diff --git a/zips/gcl-2.6.8pre3.tgz b/zips/gcl-2.6.8pre3.tgz
new file mode 100644
index 0000000..93c17d8
Binary files /dev/null and b/zips/gcl-2.6.8pre3.tgz differ
diff --git a/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch b/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch
new file mode 100644
index 0000000..0828565
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch
@@ -0,0 +1,11 @@
+--- init_gcl.lsp.in	2008-11-22 05:33:51.000000000 -0500
++++ init_gcl.lsp.in.new	2008-11-22 05:34:00.000000000 -0500
+@@ -85,7 +85,7 @@
+    (cond ((si::get-command-arg "-batch")
+ 	  (setq si::*top-level-hook* 'bye))
+ 	 ((si::get-command-arg "-f"))
+-	 (t (format t si::*system-banner*)
++	 (t ;(format t si::*system-banner*)
+ 	    (format t "Temporary directory for compiler files set to ~a~%" *tmp-dir*)))
+    (setq si::*ihs-top* 1)
+    (in-package 'system::user) (incf system::*ihs-top* 2)
diff --git a/zips/gcl-2.6.8pre3.unixport.makefile.patch b/zips/gcl-2.6.8pre3.unixport.makefile.patch
new file mode 100644
index 0000000..56ed9a4
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.unixport.makefile.patch
@@ -0,0 +1,12 @@
+--- makefile	Sun Jul 24 12:55:39 2005
++++ makefile.tpd	Sun Jul 24 15:40:01 2005
+@@ -14,7 +14,8 @@
+ PORTDIR = $(shell pwd)
+ 
+ LD_LIBS_PRE=$(FIRST_FILE) $(addprefix -u ,$(PATCHED_SYMBOLS))
+-LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp $(LAST_FILE)
++# 20031022000 tpd link axiom's C library code
++LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp ${OBJ}/${SYS}/lib/libspad.a $(LAST_FILE) 
+ 
+ ifeq ($(ARRS),)
+ ARRS:=ar rs
