[Vm-dev] Setting up a VMMaker image

Henrik Johansen henrik.s.johansen at veloxit.no
Fri Nov 20 14:23:46 UTC 2009

Hi David!
I tried this on latest Pharo 1.1 core (11050), ran into a couple of problems, posting them here for information.

- One package contained method definitions : 
This class is in MorphicExtras, which is not in Pharo-core anymore. I assume it's safe for those using it to hit proceed.

- B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
inject: 0 into: [:tS :cl |
		tS := tS max: cl timeStamp]

Raises a Syntax error in Pharo, since you can't store into blockArgs, and either way that store should be unnecessary, right?

This might be an Pharo-specific MC bug. but after fixing the source in the popup and hitting ctrl-s, loading proceeds, but when MCMultiPackageLoader tries to install the method, selector and compiledMethod is nil, as if the modifed source had not been accepted... 
To fix, you can change method source in debugger manually, then remake the MethodAddition and make it become the failed one before proceeding, but it's a lot less convenient.
Might be a good idea to check if the same happens when encountering a syntax error while loading in Squeak as well :)

Finally, I get a warning when initializing SlangBrowser, since CodeHolder does not respond to addEditContentsOption:.  (I assume this just means some menu-options won't be accessible in Pharo?)

Other than that, after fixing a bug in CrLfStream and loading the Sound package from Pharo repository (+ fixing a loading intialization issue with that...)) it seemed to generate sources just fine for all plugins! :D


On Nov 15, 2009, at 3:21 26AM, David T. Lewis wrote:

> On Mon, Nov 09, 2009 at 10:59:14PM -0800, Andreas Raab wrote:
>> Since setting up a VMMaker image has become a serious pain I thought I'd 
>> post my process for documentation here. This is what I did:
>> [ ] Start with a trunk image from http://ftp.squeak.org/trunk
>> [ ] Load Speech: http://source.squeakfoundation.org/39a
>> [ ] Load FFI version 3.9.1: Universes (System>>FFI version 3.9.1)
>> [ ] Load VMMaker: http://squeaksource.com/VMMaker
>> [ ] Load Balloon3D-Constants: http://squeaksource.com/Balloon3D
>> [ ] Load Balloon3D-Plugins: http://squeaksource.com/Balloon3D
>> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus
>> [ ] Load Freetype-Plugin: http://source.impara.de/freetype
>> After doing all this I have a healthy current VMMaker image.
> I baked some of this recipe into a "VMMaker updateFromServer", patterned
> after the Squeak trunk update process. I do not yet have Speech and FFI
> in the configuration and I'm sure there are other plugins that need to
> be added, but it's a start.
> To do an initial load:
>  MCMcmUpdater updateFromRepositories: #('http://squeaksource.com/VMMaker' )
> Thereafter, evaluate "VMMaker updateFromServer" to get updates.
> In addition to Andreas' list, I included OSProcessPlugin, AioPlugin,
> XDisplayControlPlugin, SlangBrowser, and MemoryAccess.
> Please add your favorite plugins to the configuration map in VMMaker
> on SqueakSource.
> Dave

More information about the Vm-dev mailing list