alee@CS.UTAH.EDU (Arthur Lee) (04/12/91)
Help!! I tried to compile PCL (rev4) on Lucid version 4.0 running on a MIPS processor. I followed the instruction in "defsys.lisp" very closely. When it tried to load "braid.mbin" while doing (pcl::compile-pcl), it ran into the following problem: Loading binary of BRAID... >>Trap: Interrupt: illegal instruction 0: :C 0: Try loading #P"/u2/alee/pcl/mayday/zbin/braid.mbin" again :A 1: Abort to Lisp Top Level -> I tried several things like trying to load it again, compiling it again, but with no success. I am including a simplified version of the log of what went on below. Did anyone out there try this and make it work? Any help would be greatly appreciated. Thanks, -Art Lee Dept. of Computer Science University of Utah Salt Lake City, Utah 84112 alee@cs.utah.edu ---------------------------cut here---------------------------------------- ;;; Lucid Common Lisp/MIPS ;;; Development Environment Version 4.0 Beta 2, 9 July 1990 ;;; Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990 by Lucid, Inc. ;;; All Rights Reserved ;;; ;;; This software product contains confidential and trade secret information ;;; belonging to Lucid, Inc. It may not be copied for any reason other than ;;; for archival and backup purposes. ;;; ;;; Lucid Common Lisp is a trademark of Lucid, Inc. ;;; MIPS is a trademark of MIPS Computer Systems, Inc. ;;; ;;; This is a preliminary version to be used for testing purposes only. ;;; Loading source file "/u2/alee/lisp-init.lisp" > (in-package 'user) #<Package "USER" 10018946> > (proclaim '(optimize (speed 0) (safety 3) (compilation-speed 3))) T ;;; I first tried with the following optimize parameters before I tried ;;; the above. It gave me the same problem. ;;; (proclaim '(optimize (speed 3) (safety 0) (compilation-speed 0))) > (setq *load-if-source-only* :load-source) :LOAD-SOURCE > (setq *load-if-source-newer* :load-binary) :LOAD-BINARY > (lcl:change-memory-management :growth-limit 1500) T > (lcl:change-memory-management :growth-rate 45) T > (setq *load-binary-pathname-types* (list "dbin")) ("dbin") > (cd "/cdrs2/software-dist/mips/lucid/4.0beta2/patches") #P"/import/roma/cdrs2/software-dist/mips/lucid/4.0beta2/patches/" > (load "bug-5482") ;;; Loading binary file "bug-5482.dbin" ;;; Warning: Redefining function COLLECT-COMMON-SYMBOLS whose source-file was not recorded #P"/import/roma/cdrs2/software-dist/mips/lucid/4.0beta2/patches/bug-5482.dbin" > (load "bug-5648") ;;; Loading binary file "bug-5648.dbin" ;;; Warning: Redefining function EPHEMERAL-GC whose source-file was not recorded #P"/import/roma/cdrs2/software-dist/mips/lucid/4.0beta2/patches/bug-5648.dbin" > (setq *load-binary-pathname-types* (list "mbin")) ("mbin") > (cd "/u2/alee/pcl/mayday/") #P"/import/roma/u2/alee/pcl/mayday/" > (load "defsys.lisp") ;;; Loading source file "defsys.lisp" #P"/import/roma/u2/alee/pcl/mayday/defsys.lisp" > *load-binary-pathname-types* ("mbin") > pcl::*pathname-extensions* ("lisp" . "mbin") > (pcl::compile-pcl) Compiling PKG... ;;; You are using the compiler in development mode (compilation-speed = 3) ;;; Generation of full safety checking code is enabled (safety = 3) ;;; Generation of inline code is disabled (speed = 0) ;;; Reading source file "/u2/alee/pcl/mayday/pkg.lisp" ;;; Writing binary file "/u2/alee/pcl/mayday/zbin/pkg.mbin" Loading binary of PKG... Compiling WALK... Loading binary of WALK... Compiling ITERATE... Loading binary of ITERATE... Compiling MACROS... Loading binary of MACROS... Compiling LOW... Loading binary of LOW... Compiling LUCID-LOW... Loading binary of LUCID-LOW... Compiling FIN... Loading binary of FIN... Compiling DEFCLASS... Loading binary of DEFCLASS... Compiling DEFS... Loading binary of DEFS... Compiling FNGEN... Loading binary of FNGEN... Compiling LAP... Loading binary of LAP... Compiling PLAP... Loading binary of PLAP... Compiling CACHE... Loading binary of CACHE... Compiling DLAP... Loading binary of DLAP... Compiling BOOT... Loading binary of BOOT... Compiling VECTOR... Loading binary of VECTOR... Compiling SLOTS... Loading binary of SLOTS... Compiling INIT... Loading binary of INIT... Compiling STD-CLASS... Loading binary of STD-CLASS... Compiling CPL... Loading binary of CPL... Compiling BRAID... ;;; Reading source file "/u2/alee/pcl/mayday/braid.lisp" ;;; Writing binary file "/u2/alee/pcl/mayday/zbin/braid.mbin" Loading binary of BRAID... >>Trap: Interrupt: illegal instruction 0: :C 0: Try loading #P"/u2/alee/pcl/mayday/zbin/braid.mbin" again :A 1: Abort to Lisp Top Level -> :b 0 <- BOOTSTRAP-META-BRAID <- unnamed function <- LUCID-COMMON-LISP:FASLOAD <- (:INTERNAL LOAD LUCID::LOAD-BINARY-FILE) <- LOAD <- LOAD-BINARY <- LOAD-MODULE <- OPERATE-ON-SYSTEM <- COMPILE-PCL <- EVAL <- SYSTEM:ENTER-TOP-LEVEL -> :n BOOTSTRAP-META-BRAID: -> :v BOOTSTRAP-META-BRAID: Local 0: 12 Local 1: #<#<std-instance> 2023633766> Local 2: #<Simple-Vector T 12 104F383E> Local 3: #<#<std-instance> 2023634366> Local 4: #<Simple-Vector T 12 104F393E> Local 5: #<#<std-instance> 2023634766> Local 6: #<#<std-instance> 2023635076> Local 7: #<Simple-Vector T 12 104F3A86> Local 8: #<Simple-Vector T 12 104F3B3E> Local 9: (EARLY-CLASS-DEFINITION EQL-SPECIALIZER #P"/import/roma/u2/alee/pcl/mayday/defs.lisp" STANDARD-CLASS (SPECIALIZER) ((:NAME OBJECT :READERS (EQL-SPECIALIZER-OBJECT) :WRITERS NIL :INITARGS (:OBJECT))) NIL) Local 10: ((EARLY-CLASS-DEFINITION EQL-SPECIALIZER #P"/import/roma/u2/alee/pcl/mayday/defs.lisp" STANDARD-CLASS (SPECIALIZER) ((:NAME OBJECT :READERS (EQL-SPECIALIZER-OBJECT) :WRITERS NIL :INITARGS (:OBJECT))) NIL) (EARLY-CLASS-DEFINITION STANDARD-EFFECTIVE-SLOT-DEFINITION #P"/import/roma/u2/alee/pcl/mayday/defs.lisp" STANDARD-CLASS (STANDARD-SLOT-DEFINITION EFFECTIVE-SLOT-DEFINITION) NIL NIL) (EARLY-CLASS-DEFINITION STANDARD-DIRECT-SLOT-DEFINITION #P"/import/roma/u2/alee/pcl/mayday/defs.lisp" STANDARD- CLASS (STANDARD-SLOT-DEFINITION DIRECT-SLOT-DEFINITION) NIL NIL) (EARLY-CLASS-DEFINITION STANDARD-SLOT-DEFINITION #P"/import/roma/u2/alee/pcl/mayday/defs.lisp" STANDARD-CLASS (SLOT-DEFINITION) ((:INITFUNCTION #<Compiled-Function FALSE 100CB826> :NAME NAME :READERS (SLOTD-NAME) :WRITERS ((SETF SLOTD-NAME)) :INITARGS NIL :INITFORM NIL) (:INITFUNCTION #<Compiled-Function (:INTERNAL LUCID::%TOPLEVEL-THUNK 1) 1031129E> :NAME INITFORM :READERS (SLOTD-INITFORM) :WRITERS ((SETF SLO! TD-INITFORM)) :INITARGS NIL :INIT Local 11: EQL-SPECIALIZER Local 12: STANDARD-CLASS Local 13: #<#<std-instance> 2023635776> Local 14: #<Simple-Vector T 12 104F3C0E> Local 15: :INITIAL-ELEMENT Local 16: 68060403 -> :n unnamed function: -> :n LUCID-COMMON-LISP:FASLOAD: Required arg 0 (FILENAME): #P"/u2/alee/pcl/mayday/zbin/braid.mbin" Keyword arg 1 (VERBOSE): NIL Keyword arg 2 (PRINT): NIL Keyword arg 3 (IF-DOES-NOT-EXIST): :ERROR Keyword arg 4 (DEFAULT-PATHNAME): ".mbin" Keyword arg 5 (CODE-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 6 (PROCEDURE-AREA): #<Area "Readonly-Pointer-Area" 1001832E> Keyword arg 7 (PROCEDURE-CONTENTS-POINTER-AREA): #<Area "Readonly-Pointer-Area" 1001832E> Keyword arg 8 (PROCEDURE-CONTENTS-NON-POINTER-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 9 (SYMBOL-NAME-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 10 (OTHER-AREA): #<Area "Ephemeral Level 0" 101B79EE> -> :v LUCID-COMMON-LISP:FASLOAD: Required arg 0 (FILENAME): #P"/u2/alee/pcl/mayday/zbin/braid.mbin" Keyword arg 1 (VERBOSE): NIL Keyword arg 2 (PRINT): NIL Keyword arg 3 (IF-DOES-NOT-EXIST): :ERROR Keyword arg 4 (DEFAULT-PATHNAME): ".mbin" Keyword arg 5 (CODE-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 6 (PROCEDURE-AREA): #<Area "Readonly-Pointer-Area" 1001832E> Keyword arg 7 (PROCEDURE-CONTENTS-POINTER-AREA): #<Area "Readonly-Pointer-Area" 1001832E> Keyword arg 8 (PROCEDURE-CONTENTS-NON-POINTER-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 9 (SYMBOL-NAME-AREA): #<Area "Readonly-Non-Pointer-Area" 10018356> Keyword arg 10 (OTHER-AREA): #<Area "Ephemeral Level 0" 101B79EE> Local 11: #<Package "USER" 10018946> Local 12: #P"/u2/alee/pcl/mayday/zbin/braid.mbin" Special binding for variables: (*PACKAGE*) Local 13: #<Stream OSI-BUFFERED-STREAM "/u2/alee/pcl/mayday/zbin/braid.mbin" 104EFB26> Local 14: T Unwind-protect Multiple-value-prog1 Local 15: #P"/import/roma/u2/alee/pcl/mayday/zbin/braid.mbin" Special binding for variables: (LUCID-COMMON-LISP:*SOURCE-PATHNAME* LUCID-COMMON-LISP:*LOAD-PATHNAME* LUCID::*FASLOAD-STREAM*) ;;; ;;; This might be useful ;;; -> (lisp-implementation-version) "Lucid Common Lisp, Development Environment Version 4.0 Beta 2, 9 July 1990" -> pcl::*pcl-system-date* "5/1/90 May Day PCL (REV 4)" -> ---------end of log---------------
jln@leland.Stanford.EDU (Jared Nedzel) (04/13/91)
In article <9104121655.AA13430@cs.utah.edu> alee@CS.UTAH.EDU (Arthur Lee) writes: >Help!! I'll try. >I tried to compile PCL (rev4) on Lucid version 4.0 running on a >MIPS processor. I followed the instruction in "defsys.lisp" very >closely. When it tried to load "braid.mbin" while doing (pcl::compile-pcl), >it ran into the following problem: Lucid V. 4.0 has native CLOS. Rather than try to get PCL to work with it, call up Lucid and see if they have release tape of V. 4.0 for your machine. I'm using V. 4.0 on a Sun and CLOS comes with it. Believe me, it's much easier than trying to get PCL to compile. -- --------------------------------------------------------------------- Jared L. Nedzel nedzel@cive.stanford.edu jln@portia.stanford.edu
jonl%kuwait@LUCID.COM (Jon L White) (04/13/91)
re: I tried to compile PCL (rev4) on Lucid version 4.0 running on a MIPS processor. . . . . . . ;;; Lucid Common Lisp/MIPS ;;; Development Environment Version 4.0 Beta 2, 9 July 1990 ;;; Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990 by Lucid, Inc. ;;; All Rights Reserved A lot of water has gone under the development dam since last July 9. I'm fairly certain that the trouble you had after compiling braid.lisp is due to an inscrutable bug in the "Production Quality Compiler" in the handling of complex nested LABELS expressions [PCL has been very good at finding these sorts of things. For years!] There are three posible solutions: (1) Use CLOS instead; I know it works in that MIPS "beta" version [although it has it's own history of E&S-specific patches since last July too.] In fact, that CLOS has a lot of PCL backwards-compatibility features, and some helpful documentation on how to convert from PCL circa the 1988-1989 timeframe. The metaobject level in MayDay is a bit different, but it shouldn't be an insurmountable problem. Ask Lucid for the more recent version of the "wizards" documentation, which contains the PCL- compatibility stuff and "metaobject" stuff. (2) Use the "Development" compiler for braid.lisp only. That means you have to figure out how PCL's defsys works, and bugger it a bit to get it to stop just before braid, then compile that one, then, then continue with the rest in PQC mode. This *might* work; then again, it might not. You might ask Craig Steury about whether or not they ever got MayDay to work in this image. (3) Encourage E&S to get an updated final MIPS image; I feel quite confident that this compiler bug has been fixed, since it would have also shown up in the release of the DECStation product last fall [compiling PCL is one of the acceptance criteria for that lisp.] -- JonL --
jonl%kuwait@LUCID.COM (Jon L White) (04/13/91)
Another thought just occured to me -- Possibly the PARC MayDay sources might never have been updated for the Lucid MIPS platforms. Please look in your copy of the file file "fin.lisp", near the comment: ;;; Egad! Binary patching! ;;; See comment following definition of MAKE-TRAMPOLINE -- this is just ;;; the "hand-optimized" machine instructions to make it work. in the end part of the following defvar, and see if there is a line like: #+MIPS '(#x8FD4 #x1E #x2785 #x2EEF #xA0 #x8 #x14 #xF000) If not, then just add this "line" before the part which looks like: #-(or MC68000 SPARC BSP I386 VAX PA MIPS) '(0 0 0 0))) -- JonL --
jonl%kuwait@LUCID.COM (Jon L White) (04/16/91)
re: Should every occurrence of LCL3.0 in PCL be changed to (or LCL3.0 LCL4.0) in May Day PCL? No. I'm cc'ing the broader list now just in case anyone else is uncertain about the meaning of Lucid's *FEATURES* entries. :LCL3.0 is not a release-specific marker, but implies the existence of a set of capabilites and featuers that were introduced first during the 3.0 release timeframe. Similarly, the appearance of :LCL4.0 does NOT imply the retraction of any :LCL3.0 features. However, one item is worth looking in to. The #+LCL3.0 version of (defmacro without-interrupts (&body body) ...) was an attempt to work around a performance gap in the 3.0 release. But subsequent releases have reduced the overhead cost of WITH-INTERRUPTS-DEFERRED to that of a single UNWIND-PROTECT; so the workaround kludge needn't be relevant anymore (and I don't even think it was used in PCL, but just in case . . . ) -- JonL --