[comp.lang.lisp] AKCL under SunOS 4.1

jug@itd.dsto.oz (Jim Grundy) (07/06/90)

There have been a couple of articles recently about problems with building
AKCL under SunOS4.1.
I've got AKCL built under 4.0.3 and its still running now we are using 4.1.
I guess I will have to rebuild sometime and I would like to know what 
the solution to the problem is.
I've tried mailing those people who posted on this, but I cant get through.

Jim Grundy
jug@itd.dsto.oz.au

nagle@well.sf.ca.us (John Nagle) (07/12/90)

     I'm posting the following for Fred Lakin, who has a temporary fix
to the problem.  Please contact him for further info, not me.

					John Nagle

From: apple!csli.Stanford.EDU!lakin (Fred Lakin)
To: nagle@well.sf.ca.us
Cc: jug@itd.dsto.oz
Subject: Sparc hints for AKCL under 4.1

john, i have kept this under my hat and just mailed it to requesters
since it's rather informal. also, i can't figure out how to post
to comp.lang.lisp . however, looks like the time to forward it
if you could help me out. tnx, f

;;************************************

TO BUILD AKCL UNDER SUN OS 4.1:

(completely unauthorized quick hacks -- a new release should come out
 soon with the official fixes, but in the meantime works for me)


In the akcl directory, make these changes


1) add exit(0); to the end of main(..){... exit(0);} in ../unixport/rsym.c
(this fixes another problem you havent seen until you fix the magic prob)


2) Change in file ../cmpnew/cmpmain.lsp

#+unix
(defun compiler-build (o-pathname data-pathname)
  #+(and system-v (not e15))
  (safe-system (format nil "echo \"\\000\\000\\000\\000\" >> ~A"
                       (namestring o-pathname)))
  #+(or sun sgi)
  (with-open-file (o-file
                    (namestring o-pathname)
                    :direction :output
                    :if-exists :append)
    #+sgi  ; we could do a safe-system, but forking is slow on the Iris
    (dotimes (i 12)
      (write-char #\^@ o-file))

    #+sun  ; secondary magic
    (dolist (v '(0 0 4 16 0 0 0 0))
              (write-byte v o-file))
    )

  (when (probe-file o-pathname)
    (safe-system (format nil #-dgux "cat ~A >> ~A"
                             #+dgux "~Abuild_o ~A ~A"
                             #+dgux (namestring si:*system-directory*)
                             (namestring data-pathname)
                             (namestring o-pathname)))))


3) Finally, altho i think step 2 above should insert the required 
secondary number (1040 and 0), do this also just for luck:

Create a file ../h/secondary_magic with the following 8 chars in it:
	"^@^@^D^P^@^@^@^@" 
(even tho i had to email them as 16). NO carriage returns.

and then modify ../h/sun4.defs  by adding the line
   NULLFILE = ../h/secondary_magic

this should set the env var, but just in case i also do
   setenv NULLFILE ../h/secondary_magic
in the shell before the build


4) Clean out old stuff if nec in akcl dir:

  rm o/*.o
  rm lsp/*.o
  rm unixport/*.o
  rm cmpnew/*.o

  setenv NULLFILE ../h/secondary_magic

and THEN

  make -f Smakefile



good luck, f