Re: CMUCL 18c building on tru64 5.1
Raymond Toy <[email protected]> Wed, 3 Sep 2014 09:17:16 -0700
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CAG14z1G6ZYmBvA7O069WzyFEKuyYN6OFO--3xRvMo-uFz3mtaA@mail.gmail.com> |
On Wed, Sep 3, 2014 at 4:13 AM, Fausto Saporito <[email protected]> wrote: > 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' > Isn't the error message referring to the file Depends? And how did you fix this? > > 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