Re: CMUCL 18c building on tru64 5.1
Fausto Saporito <[email protected]> Wed, 3 Sep 2014 13:57:15 +0200
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CAF1zXhmqLojyp2zSx2iaMuF7Li27cvZ25B3MPj5s8c=G8FTuTg@mail.gmail.com> |
ok.. I fixed the version problem: created a file, in alpha-target/lisp directory, "version" with "-1" in it. Now the version matches with kernel.core (version 0). But it seems a needed feature is missing: axpvm01.gitanes.taz> lisp -core kernel.core interrupt_handle_now: No handler for signal 11? LDB monitor ldb> 2014-09-03 13:39 GMT+02:00 Fausto Saporito <[email protected]>: > 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