[cmucl-help] CMUCL 18c building on tru64 5.1
Raymond Toy
toy.raymond at gmail.com
Wed Sep 3 16:17:16 UTC 2014
On Wed, Sep 3, 2014 at 4:13 AM, Fausto Saporito <fausto.saporito at gmail.com>
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 <fausto.saporito at gmail.com>:
> > 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 <fausto.saporito at gmail.com>:
> >> 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 <fausto.saporito at gmail.com>:
> >>> 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 <fausto.saporito at gmail.com>:
> >>>> 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 <toy.raymond at gmail.com>:
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Tue, Sep 2, 2014 at 4:53 PM, Fausto Saporito <
> fausto.saporito at gmail.com>
> >>>>> 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
> >>>>>
> >>>>>
>
More information about the cmucl-help
mailing list