[cmucl-help] CMUCL 18c building on tru64 5.1

Raymond Toy toy.raymond at gmail.com
Wed Sep 3 16:12:04 UTC 2014


My mistake. 19d had support for double-double. 19c is doesn't, as you've
found out.

BTW, the release notes for 18d and later are available at
http://trac.common-lisp.net/cmucl/wiki/ReleaseNotes.


On Tue, Sep 2, 2014 at 11:29 PM, Fausto Saporito <fausto.saporito at gmail.com>
wrote:

> 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