[cmucl-help] CMUCL 18c building on tru64 5.1
Raymond Toy
toy.raymond at gmail.com
Wed Sep 3 16:19:42 UTC 2014
On Wed, Sep 3, 2014 at 4:39 AM, Fausto Saporito <fausto.saporito at gmail.com>
wrote:
> 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
>
These only apply to the C code and most of them are not relevant. The only
ones that might possibly apply to the current C code would be
FEATURE_BSD, FEATURE_OSF1, FEATURE_ALPHA, and FEATURE_LITTLE_ENDIAN. But
these things were added long after the last alpha build, so they're
probably irrelevant.
>
> Is it correct
>
> FEATURE_PCL = 1
>
> then
>
> FEATURE_NOPCL = 1
>
> ???
>
> regards,
> Fausto
>
> 2014-09-03 13:13 GMT+02:00 Fausto Saporito <fausto.saporito at gmail.com>:
> > 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 <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