[Vm-dev] Re: Having trouble with 4.2 on Linux
Ken Causey
ken at kencausey.com
Tue May 24 22:47:40 UTC 2011
David said:
> Since you are on X86_64, make sure that you are compiling your VM in
> 32-bit mode (-m32 compiler flag). FFI does not work on 64-bit platforms,
> details at http://bugs.squeak.org/view.php?id=7237.
>
> FYI, this can definitely be fixed (the patches were done a few years ago),
> but I would frankly be reluctant to try taking it on right now because it
> is a complex set of changes that must be coordinated in the platform support
> code, slang, and images, and there are quite a lot of other things going
> on with VMs these days, including Eliot's work on a new FFI.
>
> The status of the 64-bit fixes and testing as of May 2008 is in the thread
> at http://lists.squeakfoundation.org/pipermail/vm-dev/2008-May/001945.html
>
> Dave
Thanks Dave, I will try rebuilding the stock VM tomorrow with the
suggested flag and see what happens.
However I will take this opportunity to update everyone on why I finally
got fed up with it today. I thought to myself if the test functions
were not being included in the plugin(and my cursory inspection suggests
the cmake configuration does not include ffi-test.*) then perhaps the
simplest thing I could do would be to create a simple interface to rand.
So I created a new subclass of ExternalLibrary and tried to add a
testRand instance method. However as soon as I finished typing
'<cdecl:' I started getting debuggers popping up for every keypress
related to parsing, I suspect having to do with Shout. Yet I check the
preferences and under Browsing Shout and syntaxHighlightingAsYouType
(going from memory) are not enabled. But in fact the syntax is being
colored as I type. I can't figure out how to stop it. So I just type
away and ignore the debuggers resulting in
testRand
"Test rand"
<cdecl: int 'rand' ()>
^self externalCallFailed
and I try to accept that but it will not accept it insisting that there
should be a return call type in the cdecl line even though I think I've
typed one in there. I also tried <cdecl: int 'rand' (void)> as I'm not
sure which if either of these is correct, but the same result happens in
both cases.
Ken
More information about the Vm-dev
mailing list