[cmucl-imp] motifd isn't 64-bit kosher

Robert Swindells rjs at fdy2.co.uk
Sun Jul 6 19:13:19 UTC 2014

Richard M Kreuter wrote:
>I believe it turns out to be a fluke that a 64-bit motifd works
>anywhere: the server passes out 32-bits of a pointer as external IDs for
>instances of a handful of types [1]. On a 64-bit machine, the instances'
>addresses might not fit in a 32-bit address, though. 
>(In fact, on my FreeBSD/amd64 machine, when I run the example from the
>documentation, the first shell widget always gets created at
>#x8045d8900, so motifd hands out #x45d8900, and then attempting to
>create the second widget with the shell as parent crashes the server.)
>Seems like there are two options:
>A. Change the wire protocol to accomodate 64-bit integers.
>B. Synthesize 32-bit identifiers for instances of the offending types.
>Option B seems simpler, I think. Does anybody have any notion of how
>better to do this than to add a table mapping pointers to some kind of
>opaque IDs at the message layer?

C. Run 32-bit motifd on 64-bit system.

You need some 32-bit libraries to be able to run CMUCL at all, just
install the X11 and Motif ones as well.

Robert Swindells

More information about the cmucl-imp mailing list