Re: CMUCL 18c building on tru64 5.1
Fausto Saporito <[email protected]> Wed, 3 Sep 2014 13:39:30 +0200
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CAF1zXh=+1iB1nwE8jp+9gc7ypaYVhCK0eCtUL7SR6O1SjiYzMw@mail.gmail.com> |
Hello all, ok... this is a real blocking error: axpvm01.gitanes.taz> alpha-target/lisp/lisp -core alpha-target/lisp/kernel.core WARNING: startup-code version (2) different from core version (0). You may lose big. interrupt_handle_now: No handler for signal 11? LDB monitor ldb> quit Really quit? [y] and really I cannot understand the reason. kernel.core has been generated with the same sources of the lisp frontend! Why there's this version mismatch ? I changed internals.h cause it was totally wrong (feature list section) and I copied them from internals.inc ... is it correct ? But internals.inc has much more features than cross.lisp, maybe this could be the problem... FEATURE_CMU18E = 1 FEATURE_CMU18 = 1 FEATURE_BSD = 1 FEATURE_OSF1 = 1 FEATURE_ALPHA = 1 FEATURE_CMU = 1 FEATURE_IEEE_FLOATING_POINT = 1 FEATURE_ANSI_CL = 1 FEATURE_COMMON_LISP = 1 FEATURE_COMMON = 1 FEATURE_HASH_NEW = 1 FEATURE_RANDOM_MT19937 = 1 FEATURE_UNIX = 1 FEATURE_RELATIVE_PACKAGE_NAMES = 1 FEATURE_MODULAR_ARITH = 1 FEATURE_CONSERVATIVE_FLOAT_TYPE = 1 FEATURE_PYTHON = 1 FEATURE_CMU19C = 1 FEATURE_CMU19 = 1 FEATURE_PCL = 1 <----- FEATURE_PORTABLE_COMMONLOOPS = 1 FEATURE_PCL_STRUCTURES = 1 FEATURE_GERDS_PCL = 1 FEATURE_BOOTSTRAP = 1 FEATURE_NO_PCL = 1 <----- FEATURE_NO_CLX = 1 FEATURE_NO_CLM = 1 FEATURE_NO_HEMLOCK = 1 FEATURE_LITTLE_ENDIAN = 1 Is it correct FEATURE_PCL = 1 then FEATURE_NOPCL = 1 ??? regards, Fausto 2014-09-03 13:13 GMT+02:00 Fausto Saporito <[email protected]>: > This is trivial .. I suppose. > I'm using standard Tru64 5.1b C compiler, but it seems generates a > Depend file gmake doesn't like too much :-) > I'm using gmake 3.80, is there a mandatory version ? > > gmake: Entering directory `/usr/users/fausap/CMU/alpha-target/lisp' > Depends:454: *** missing separator. Stop. > gmake: Leaving directory `/usr/users/fausap/CMU/alpha-target/lisp' > > this code starts at line 454 > > struct array { > lispobj header; > lispobj fill_pointer; > lispobj fill_pointer_p; > lispobj elements; > lispobj data; > lispobj displacement; > lispobj displaced_p; > lispobj dimensions[1]; > }; > > thanks, > Fausto > > 2014-09-03 11:39 GMT+02:00 Fausto Saporito <[email protected]>: >> Ohhhh ... BIG NeWS! >> >> 19c works! Cross compiling was fine. >> Now if I understood well, I have to move all the alpha-target >> directory in Tru64 and recompile... correct ? >> Using src/tools/build-world.sh script ? >> >> thanks >> Fausto >> >> >> 2014-09-03 11:28 GMT+02:00 Fausto Saporito <[email protected]>: >>> Hello all, >>> >>> I saw there're some patches for 19c and 19d and I found how to apply them. >>> The question is: how can I update the lisp.core ? Is it needed ? Or do >>> I have to load each time those patches ? >>> >>> thanks, >>> Fausto >>> >>> >>> 2014-09-03 8:41 GMT+02:00 Fausto Saporito <[email protected]>: >>>> Hello Ray, >>>> >>>> no luck with 19d. But maybe it has the double-double support too... >>>> >>>> I have the same errors, but instead of sigsegv at the end, I got a >>>> stack overflow: >>>> >>>> Control stack overflow >>>> [Condition of type STACK-OVERFLOW] >>>> >>>> Restarts: >>>> 0: [CONTINUE] Blow this file >>>> 1: Return NIL from load of "target:tools/worldcom". >>>> 2: [ABORT ] Return to Top-Level. >>>> >>>> Debug (type H for help) >>>> >>>> (YELLOW-ZONE-HIT) >>>> Source: >>>> ; File: target:code/interr.lisp >>>> (ERROR 'STACK-OVERFLOW) >>>> >>>> and in compile-compiler.log I found again a DOUBLE-DOUBLE reference: >>>> >>>> ; Comment: $Header: >>>> /project/cmucl/cvsroot/src/compiler/new-assem.lisp,v 1.34 2004/08/02 >>>> 16:04:42 cwang Exp $ >>>> >>>> ; Compiling DEFUN SEGMENT-MAP-OUTPUT: >>>> >>>> Bound is not *, a DOUBLE-DOUBLE-FLOAT or a list of a DOUBLE-DOUBLE-FLOAT: 0 >>>> >>>> Aborting... >>>> >>>> I'll try with 19c >>>> >>>> 2014-09-03 8:29 GMT+02:00 Fausto Saporito <[email protected]>: >>>>> Hello Ray, >>>>> >>>>> I started with 19d, but I have this strange error: >>>>> >>>>> ; Error: (during macroexpansion) >>>>> ; >>>>> ; Error in function META-SC-OR-LOSE: >>>>> ; DOUBLE-DOUBLE-REG is not a defined storage class. >>>>> ; ; >>>>> >>>>> ; Error: (during macroexpansion) >>>>> ; >>>>> ; Error in function META-SC-OR-LOSE: >>>>> ; COMPLEX-DOUBLE-DOUBLE-REG is not a defined storage class. >>>>> >>>>> but in 19d there shouldn't be support for DOUBLE-DOUBLE ... correct ? >>>>> >>>>> I'm using 19d binaries to cross-build 19d >>>>> >>>>> 2014-09-03 4:17 GMT+02:00 Raymond Toy <[email protected]>: >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Sep 2, 2014 at 4:53 PM, Fausto Saporito <[email protected]> >>>>>> wrote: >>>>>>> >>>>>>> Hello Raymond, >>>>>>> >>>>>>> thanks for these hints about cross.lisp >>>>>>> I put in the proper section the unwanted feature. >>>>>>> >>>>>>> So, if I force the redefinition of those symbols at the end of >>>>>>> alpha-cross compiling phase, alpha-target starts but I noticed this >>>>>>> error among the others: >>>>>>> >>>>>>> ; File: /home/fausap/CMUCL/git-ver/cmucl/src/code/lispinit.lisp >>>>>>> >>>>>>> ; In: DEFUN SLEEP >>>>>>> >>>>>>> ; (ERROR 'SIMPLE-TYPE-ERROR >>>>>>> ; :FORMAT-CONTROL "Invalid argument to SLEEP: ~S.~%~ >>>>>>> ; Must be a non-negative, non-complex number." >>>>>>> ; :FORMAT-ARGUMENTS ...) >>>>>>> ; Note: Deleting unreachable code. >>>>>>> ; >>>>>>> >>>>>>> DOUBLE-DOUBLE-FLOAT fell through ECASE expression. >>>>>>> Wanted one of (REAL FLOAT OR SINGLE-FLOAT DOUBLE-FLOAT RATIONAL INTEGER). >>>>>>> >>>>>>> it's very strange... I disabled double-double... why I have this error ? >>>>>> >>>>>> >>>>>> I think it's a mismatch between what the cross compiler has and what the >>>>>> host compiler has. I've never figured this out. >>>>>> >>>>>> So, I think it's best to start with a lisp without double-double support. >>>>>> >>>>>> Support for double-double was apparently done by 19e, so your best bet is to >>>>>> do a checkout from 19d. I think everything that you've done up to now still >>>>>> applies. >>>>>> >>>>>> Once that is done, we can consider adding double-double for alpha. It's >>>>>> relatively easy, but you'll have to write a bunch of vops. They can probably >>>>>> be copied almost verbatim from the sparc or ppc ports with small changes in >>>>>> the actual instructions. >>>>>> >>>>>>> >>>>>>> This is my features list in cross.lisp (I removed extern-alien-name, >>>>>>> fixup, etc... I don't know what they are doing... so maybe I can put >>>>>>> back later) >>>>>>> >>>>>>> ;;; Cross-compile script to build a alpha core using x86 as the >>>>>>> ;;; compiling system. This needs work! >>>>>>> >>>>>>> (in-package :cl-user) >>>>>>> >>>>>>> ;;; Rename the X86 package and backend so that new-backend does the >>>>>>> ;;; right thing. >>>>>>> (rename-package "X86" "OLD-X86" '("OLD-VM")) >>>>>>> (setf (c:backend-name c:*native-backend*) "OLD-X86") >>>>>>> >>>>>>> (c::new-backend "ALPHA" >>>>>>> ;; Features to add here >>>>>>> '(:alpha >>>>>>> :relative-package-names ; Relative package names from >>>>>>> Allegro >>>>>>> :conservative-float-type >>>>>>> :hash-new >>>>>>> :random-mt19937 ; MT-19937 generator >>>>>>> :cmu ; Announce this is CMUCL >>>>>>> :cmu20 :cmu20b ; Current version identifier >>>>>>> :osf1 >>>>>>> :bsd >>>>>>> :unix >>>>>>> ) >>>>>>> ;; Features to remove from current *features* here >>>>>>> '(:sparc-v8 :sparc-v7 :sparc-v9 :sparc >>>>>>> ;; Other architectures we aren't using. Particularly important >>>>>>> ;; to get rid of sse2 and x87 so we don't accidentally try to >>>>>>> ;; compile the x87/sse2 float support on sparc, which won't work. >>>>>>> :x86 :x86-bootstrap :sse2 :x87 :i486 >>>>>>> :mips :complex-fp-vops >>>>>>> ;; Really old stuff that should have been removed long ago. >>>>>>> :propagate-fun-type :propagate-float-type :constrain-float-type >>>>>>> :double-double >>>>>>> :linkage-table >>>>>>> :stack-checking ; Throw error if we run out of >>>>>>> stack >>>>>>> :heap-overflow-check ; Throw error if we run out of >>>>>>> ; heap (This requires gencgc!) >>>>>>> :gencgc ; Generational GC >>>>>>> :modular-arith ; Modular arithmetic >>>>>>> :executable >>>>>>> ;; Other OSes were not using >>>>>>> :openbsd :freebsd :glibc2 :linux :mach-o :darwin :sunos :svr4 >>>>>>> :solaris :sun4 >>>>>>> :pentium >>>>>>> :long-float >>>>>>> :new-random >>>>>>> :small >>>>>>> :mp)) >>>>>> >>>>>> >>>>>> One last thing: remove :alien-callback too. Alpha doesn't support that. >>>>>> >>>>>> Hopefully this will get us farther along.... >>>>>> >>>>>> -- >>>>>> Ray >>>>>> >>>>>> _______________________________________________ cmucl-help mailing list [email protected] http://lists.zs64.net/mailman/listinfo/cmucl-help