Why would this code not work in an arm compile but works on a Ubuntu compile?
Million dollar question, if we knew that we'd fix it
I spent some time this morning looking into it and will pass my findings on to someone that might be familiar with that particular plugin.
I'm happy to walk you through getting things set up to help track down bugs. I think you would benefit from getting under the hood of Scratch. It's late so it'll have to be tomorrow. In the mean time...
Now this is where I need to start to learn the whys and what of what happens with Linux.
Best to pick it up as you go along. Knowing the "man" and "info" utils is a must so you can access the help available on the machine itself. Open a terminal, try "man man" and "info info". "apropos <keyword>" is also useful (equivalents: man/info -k <keyword>). Lots more info on the web.
What do I need to install (On what - RPi or Ubuntu machine ????) to be able to alter the code and see it make a difference?
Avoid another level of complication for now and do what you need to on the RPi itself. You want "cmake", at least, to compile the SqueakVM (sudo apt-get install cmake). It's also useful to have the Scratch "source" installation so you can get behind Scratch to the Squeak desktop and put break points in code leading up to where the problem occurs. More details tomorrow if you're still interested.