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

Raymond Toy toy.raymond at gmail.com
Tue Sep 2 03:59:44 UTC 2014


On Mon, Sep 1, 2014 at 2:56 AM, Fausto Saporito <fausto.saporito at gmail.com>
wrote:

> Hello,
>
> please could you explain me the difference between alpha-target and
> alpha-cross ?
>

​alpha-cross contains the cross-compiler to compile from the host system
(x86) to the target system.
​


> I understand the alpha-target will contain the lisp.core (for alpha)
> and the frontend files to be compiled under OSF1.
> But alpha-cross ?
>

​Once alpha-target is created, you are supposed to copy that entire
directory to your alpha machine, run bin/rebuild-lisp.sh to compile up the
C code and then bin/load-world.sh to load up  your new alpha system.

Finallly, it's could to do a full set of build using the newly generated
alpha build in alpha-target.

Of course, this is only meaningful if the cross-compile works.​


>
> I tried to use, also, a cross compile file x86->ppc (with some obvious
> modifications).
>
> I have some serious errors, maybe due to some changes not ported to alpha
> tree:
>
> alpha/vm
>
> Error in function META-SC-OR-LOSE:
>    DESCRIPTOR-REG is not a defined storage class.
>

​This shouldn't happen.​


>
> alpha/insts
>
>     ZERO is not a defined storage class.
>
> alpha/move
>
>     NULL is not a defined storage class.
>
> alpha/float
>
>     FP-SINGLE-ZERO is not a defined storage class.
>
>
> alpha/type-vops
>
> SAP-REG is not a defined storage class.
> MOVE-FROM-SAP is not the name of a defined VOP.
> SAP-MOVE is not the name of a defined VOP.
> MOVE-TO-SAP is not the name of a defined VOP.
> UNSIGNED-REG is not a defined storage class.
>  ANY-REG is not a defined storage class.
>
> alpha/system
>
>   NIL is not of type NEW-ASSEM::ASSEM-PARAMS
>
>
​Hard to tell but it seems that things aren't getting compiled correctly.
Are there warnings or errors before you get here? You have to look in the
log files in the alpha-cross or alpha-target directories.

Ray
​


> regards,
> Fausto
>
>
> 2014-09-01 8:14 GMT+02:00 Fausto Saporito <fausto.saporito at gmail.com>:
> > Hello Ray,
> >
> > yes, I'm using 20d to cross-build 20d.
> > I read at the top of the sparc cross.lisp file, it should be broken :-)
> >
> > Attached there're all the log files and the script.
> >
> > I read some errors about external symbols that are not external in
> > ALPHA package, maybe this is related to some definitions in
> > cross.lisp, but I'm not sure about it.
> >
> > thanks for you help
> > Fausto
> >
> >
> > 2014-09-01 5:11 GMT+02:00 Raymond Toy <toy.raymond at gmail.com>:
> >>
> >>
> >>
> >> On Sun, Aug 31, 2014 at 1:13 PM, Fausto Saporito <
> fausto.saporito at gmail.com>
> >> wrote:
> >>>
> >>> Hello all,
> >>>
> >>> I'm trying to do cross-platform cross-compilation for Alpha _OSF1.
> >>> I'm starting with NetBSD amd64 with cmucl 20d.
> >>>
> >>> so I did:
> >>>
> >>> 1) bin/create-target.sh alpha-cross alpha_osf1 alpha_osf1
> >>> 2) bin/create-target.sh alpha-target alpha_osf1 alpha_osf1
> >>> 3) created cross.lisp file using x86->sparc cross-compiling as example.
> >>> 4) bin/cross-build-world.sh alpha-target alpha-cross cross.lisp
> >>
> >>
> >> This all looks right.  But if you are trying to build 20d for alpha, you
> >> have to be sure to check out the 20d sources.
> >>
> >>>
> >>>
> >>> but I have errors either in alpha-cross either in alpha-target.
> >>> I noticed even if I specified to exclude sse2 (for example) it tries
> >>> to compile it (???).
> >>>
> >>> I'm quite sure my cross.lisp is wrong, but really I don't know how to
> >>> modify it.
> >>
> >>
> >> It's possible the x86->sparc script is wrong. I haven't done such a
> >> cross-compile in quite a while.
> >>
> >> Can you post the cross script you're using? And also the error messages
> that
> >> you see?
> >>
> >> Ray
> >>
> >>>
> >>>
> >>> regards,
> >>> Fausto
> >>>
> >>> 2014-08-31 19:34 GMT+02:00 Fausto Saporito <fausto.saporito at gmail.com
> >:
> >>> > Hello Raymond,
> >>> >
> >>> > so, if I understood well, you mean using 20d (under Linux, for
> >>> > example) and cross compile 18b for alpha ?
> >>> >
> >>> > regards,
> >>> > Fausto
> >>> >
> >>> >
> >>> > 2014-08-31 19:00 GMT+02:00 Raymond Toy <toy.raymond at gmail.com>:
> >>> >>
> >>> >>
> >>> >>
> >>> >> On Sat, Aug 30, 2014 at 2:57 PM, Fausto Saporito
> >>> >> <fausto.saporito at gmail.com>
> >>> >> wrote:
> >>> >>>
> >>> >>> Hello,
> >>> >>>
> >>> >>> ok. I built 18a with 18a.
> >>> >>> Now, if I understood well the process to compile 18b is quite
> >>> >>> different... correct ?
> >>> >>> So, how can i crosscompile ?
> >>> >>
> >>> >>
> >>> >> I did a little digging and it seems there's not a lot of information
> >>> >> about
> >>> >> how to go from 18a to 18b. I can't even find any release notes on
> this.
> >>> >>
> >>> >> As for cross-compilation, the current notes are at
> >>> >> http://trac.common-lisp.net/cmucl/wiki/BuildingCmucl.  These are
> for
> >>> >> more
> >>> >> recent versions, so I don't know how they would apply to 18b.  The
> >>> >> general
> >>> >> approach hasn't really changed, but the scripts themselves didn't
> exist
> >>> >> in
> >>> >> 18b.  On the other hand, the scripts just encapsulate what people
> were
> >>> >> doing
> >>> >> by hand in an ad hoc way anyway.
> >>> >>
> >>> >> If you can, it might be easier to try to cross-compile from the 20d
> >>> >> release.
> >>> >> That is the last version that supported 8-bit (non-unicode) chars.
> 20e
> >>> >> and
> >>> >> later require unicode which you'd probably have to update the
> backend
> >>> >> to
> >>> >> support 16-bit chars.
> >>> >>
> >>> >> Good luck. Let us know how it goes.
> >>> >>
> >>> >>>
> >>> >>>
> >>> >>> thanks,
> >>> >>> Fausto
> >>> >>>
> >>> >>>
> >>> >>> 2014-08-30 23:07 GMT+02:00 Fausto Saporito
> >>> >>> <fausto.saporito at gmail.com>:
> >>> >>> > Hello Carl,
> >>> >>> >
> >>> >>> > I didn't check about 18a with 18a.
> >>> >>> > So I'll start with this and I hope it will be ok.
> >>> >>> >
> >>> >>> > thanks,
> >>> >>> > Fausto
> >>> >>> >
> >>> >>> >
> >>> >>> > 2014-08-30 23:02 GMT+02:00 Carl Shapiro <carl.shapiro at gmail.com
> >:
> >>> >>> >> Glad to hear that you have gotten past the assembler issues.
> Have
> >>> >>> >> you
> >>> >>> >> verified that you can compile an 18a with 18a in your
> environment?
> >>> >>> >> From
> >>> >>> >> there, to compile an 18c from 18a is straight forward but it
> will
> >>> >>> >> take
> >>> >>> >> a
> >>> >>> >> couple of extra steps.  Most likely, you might have to go from
> 18a
> >>> >>> >> ->
> >>> >>> >> 18b ->
> >>> >>> >> 18c by way of two cross compilations.  If you can describe a
> little
> >>> >>> >> bit
> >>> >>> >> more
> >>> >>> >> about the process you are taking, I might be able to help you
> with
> >>> >>> >> this.
> >>> >>> >>
> >>> >>> >>
> >>> >>> >> On Sat, Aug 30, 2014 at 1:40 PM, Fausto Saporito
> >>> >>> >> <fausto.saporito at gmail.com>
> >>> >>> >> wrote:
> >>> >>> >>>
> >>> >>> >>> Sorry... I press too early the SEND button :)
> >>> >>> >>>
> >>> >>> >>> Now the problem is during the compile lisp phase.
> >>> >>> >>> I have some errors in
> >>> >>> >>>
> >>> >>> >>> 1) code/struct
> >>> >>> >>>
> >>> >>> >>> Error in function FIND-CLASS:  Class not yet defined:
> >>> >>> >>>   LISP-STREAM
> >>> >>> >>>
> >>> >>> >>> 2) code/error
> >>> >>> >>>
> >>> >>> >>> Error: (during macroexpansion)
> >>> >>> >>> Error in %COERCE-TO-FUNCTION:  the function
> ORDER-LAYOUT-INHERITS
> >>> >>> >>> is
> >>> >>> >>> undefined.
> >>> >>> >>>
> >>> >>> >>> 2) code/class
> >>> >>> >>>
> >>> >>> >>> Error in function EXPORT:  Exporting these symbols from the
> KERNEL
> >>> >>> >>> package:
> >>> >>> >>> (STD-COMPUTE-CLASS-PRECEDENCE-LIST)
> >>> >>> >>> results in name conflicts with these packages:
> >>> >>> >>> CONDITIONS
> >>> >>> >>>
> >>> >>> >>> 3) code/hash
> >>> >>> >>>
> >>> >>> >>> Error in function KERNEL::VALUES-SIMPLE-SUBTYPEP-TYPE-METHOD:
> >>> >>> >>>    Subtypep is illegal on this type:
> >>> >>> >>>   (VALUES BASE-STRING &REST T)
> >>> >>> >>>
> >>> >>> >>> and others...
> >>> >>> >>>
> >>> >>> >>> So maybe 18a is too old to compile 18c , or maybe I'm doing
> >>> >>> >>> something
> >>> >>> >>> wrong.
> >>> >>> >>>
> >>> >>> >>> PS
> >>> >>> >>> i'm using cmucl 18a (downloaded from the web site...
> unfortunately
> >>> >>> >>> 18b
> >>> >>> >>> tar file is corrupted).
> >>> >>> >>>
> >>> >>> >>> 2014-08-30 22:31 GMT+02:00 Fausto Saporito
> >>> >>> >>> <fausto.saporito at gmail.com>:
> >>> >>> >>> > Hello Carl,
> >>> >>> >>> >
> >>> >>> >>> > I found a possible fix.
> >>> >>> >>> > The problem is in the ".end" statement.
> >>> >>> >>> >
> >>> >>> >>> > this is the code
> >>> >>> >>> >
> >>> >>> >>> >         .text
> >>> >>> >>> >         .globl  undefined_tramp
> >>> >>> >>> >         .ent    undefined_tramp_offset
> >>> >>> >>> > undefined_tramp = /* ###
> >>> >>> >>> > undefined_tramp_offset-call_into_lisp_LRA*/
> >>> >>> >>> > 0x140+call_
> >>> >>> >>> > into_lisp_LRA_page
> >>> >>> >>> > undefined_tramp_offset:
> >>> >>> >>> >         call_pal PAL_gentrap
> >>> >>> >>> >         .long    10
> >>> >>> >>> >         .byte    4
> >>> >>> >>> >         .byte    23
> >>> >>> >>> >         .byte    254
> >>> >>> >>> >         .byte    (0xe0 + sc_DescriptorReg)
> >>> >>> >>> >         .byte    2
> >>> >>> >>> >         .align 2
> >>> >>> >>> >         .end    undefined_tramp
> >>> >>> >>> >
> >>> >>> >>> > now changing into ".end   undefined_tramp_offset" it's ok.
> >>> >>> >>> > I hope this is the correct fix.
> >>> >>> >>> >
> >>> >>> >>> >
> >>> >>> >>> > 2014-08-30 20:18 GMT+02:00 Carl Shapiro
> >>> >>> >>> > <carl.shapiro at gmail.com>:
> >>> >>> >>> >> It has been a while, but I suspect this can be made to work.
> >>> >>> >>> >>
> >>> >>> >>> >> Have you been able to isolate the specific lines of code
> that
> >>> >>> >>> >> are
> >>> >>> >>> >> causing
> >>> >>> >>> >> the error?  It looks like something is going wrong on the
> last
> >>> >>> >>> >> lines of
> >>> >>> >>> >> the
> >>> >>> >>> >> undefined_tramp and closure_trap routines but one cannot be
> >>> >>> >>> >> certain
> >>> >>> >>> >> if
> >>> >>> >>> >> the
> >>> >>> >>> >> error is exactly there, or in lines above.
> >>> >>> >>> >>
> >>> >>> >>> >> I would try commenting out those two routines an seeing if
> the
> >>> >>> >>> >> file
> >>> >>> >>> >> assembles.  If that works, I would binary search for the
> exact
> >>> >>> >>> >> source
> >>> >>> >>> >> line
> >>> >>> >>> >> of an error through one of those routines and then the
> other.
> >>> >>> >>> >> You
> >>> >>> >>> >> could
> >>> >>> >>> >> also approach this in the other direction, commenting out
> all
> >>> >>> >>> >> of
> >>> >>> >>> >> the
> >>> >>> >>> >> other
> >>> >>> >>> >> routines in the file and adding things back until you find
> and
> >>> >>> >>> >> error.
> >>> >>> >>> >>
> >>> >>> >>> >> Also, this file make use of C pre-processor macros defined
> by
> >>> >>> >>> >> internals.h.
> >>> >>> >>> >> Are you building with a valid internals.h?
> >>> >>> >>> >>
> >>> >>> >>> >>
> >>> >>> >>> >> On Sat, Aug 30, 2014 at 4:42 AM, Fausto Saporito
> >>> >>> >>> >> <fausto.saporito at gmail.com>
> >>> >>> >>> >> wrote:
> >>> >>> >>> >>>
> >>> >>> >>> >>> Hello all,
> >>> >>> >>> >>>
> >>> >>> >>> >>> i'm trying to build CMUCL 18c under Tru64 5.1 using
> Digital C
> >>> >>> >>> >>> compiler
> >>> >>> >>> >>> and assembler.
> >>> >>> >>> >>> I have this error compiling alpha-assem.s
> >>> >>> >>> >>>
> >>> >>> >>> >>> as -g -Dosf1 -Dalpha
> >>> >>> >>> >>> -I/usr/users/fausap/wrk/CMUCL/src/18c/lisp
> >>> >>> >>> >>> -o
> >>> >>> >>> >>> alpha-assem.o alpha-assem.s
> >>> >>> >>> >>> alpha-assem.s(242) : error : syntax error : last token was
> >>> >>> >>> >>> 'undefined_tramp'
> >>> >>> >>> >>> alpha-assem.s(256) : error : syntax error : last token was
> >>> >>> >>> >>> 'closure_tramp'
> >>> >>> >>> >>> gmake: *** [alpha-assem.o] Error 1
> >>> >>> >>> >>>
> >>> >>> >>> >>> I know this is quite old version and unsupported arch, but
> do
> >>> >>> >>> >>> you
> >>> >>> >>> >>> know
> >>> >>> >>> >>> is there's a patch to fix this error ?
> >>> >>> >>> >>>
> >>> >>> >>> >>> thanks a lot,
> >>> >>> >>> >>> Fausto
> >>> >>> >>> >>> _______________________________________________
> >>> >>> >>> >>> cmucl-help mailing list
> >>> >>> >>> >>> cmucl-help at cmucl.cons.org
> >>> >>> >>> >>> http://lists.zs64.net/mailman/listinfo/cmucl-help
> >>> >>> >>> >>
> >>> >>> >>> >>
> >>> >>> >>
> >>> >>> >>
> >>> >>> _______________________________________________
> >>> >>> cmucl-help mailing list
> >>> >>> cmucl-help at cmucl.cons.org
> >>> >>> http://lists.zs64.net/mailman/listinfo/cmucl-help
> >>> >>
> >>> >>
> >>
> >>
>


More information about the cmucl-help mailing list