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