4

I am using Squeak 4.4 update 12327, and VM version 4.1.1. I tried to load VMMaker with ConfigurationOf scripts but always fails with exceptions mainly in the Freetype package.

Gofer new
       squeaksource: 'MetacelloRepository';
       package: 'ConfigurationOfVMMaker';
       load.
((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.4') load

or

Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfVMMaker';
load.

(Smalltalk at:#ConfigurationOfVMMaker) project lastVersion load.

or

Gofer new
     squeaksource: 'MetacelloRepository';
     package: 'ConfigurationOfVMMaker';
     load.

(ConfigurationOfVMMaker project version: '1.5') load.

Neither the package repository page, nor the wiki pages (this one, or this one) include instructions or a link to load the VMMaker, although contains a lot of explanations.

user1000565
  • 927
  • 4
  • 12
  • which branch of VMMaker are you interested in? Classic VM (Interpreter), or COG VM (JIT /StackInterpreter)? – aka.nice Jan 05 '13 at 22:04
  • It would be Classic VM (Interpreter), I am using VM version 4.1.1. But information about loading the COG VM would be appreciated too – user1000565 Jan 05 '13 at 22:16
  • Then it would be with update MCM, see my answer. I have asked the question on vm-dev mailing list too... – aka.nice Jan 05 '13 at 22:33
  • By the way, I have found a wiki page mentioning the procedure, http://wiki.squeak.org/squeak/6177 it is not really highlighted with a bright title though... – aka.nice Jan 09 '13 at 21:25

3 Answers3

4

This is thanks to David Lewis, in the CI scripts we use to test the Interpreter VM:

MCMcmUpdater updateFromRepositories: #('http://source.squeak.org/VMMaker').
(Smalltalk at: #VMMaker) initializeBrowserSupport. "activate Slang browsing"
Frank Shearar
  • 17,012
  • 8
  • 67
  • 94
3

Unfortunately, the Metacello configuration has been created and used only by Pharo-centric users until now...
You could eventually correct the Squeak branch in the configuration, but that ain't going to be easy to boot up from there.

If you are interested in oscog VM branch, then there is one prebuilt 4.3 image with pre-loaded packages distributed in this svn repository

http://squeakvm.org/svn/squeak/branches/Cog

Look under image subdirectory, open the CogTrunk43.image, there is a workspace explaining how the packages were loaded in the image.

If you are interested in classical Interpreter, then the way to load it was by using the update MCM:

  1. Open a Monticello browser
  2. Add the VMMaker repository
    (MCHttpRepository location: 'http://source.squeak.org/trunk' user: 'squeak' password: 'squeak')
  3. Select and open the VMMaker repository
  4. On the left pane, select 'update' (bottom item)
  5. On the right pane select the top item (update-dtl.12.mcm)
  6. Select 'browse' button
  7. You get a list of packages displayed, click on 'Install' button

The update configuration is a few versions late though, not sure if it is still maintained, the best is also to ask on "Squeak Virtual Machine Development Discussion"

EDIT I think that this magical incantation can replace all GUI oriented operations above:

MCMcmUpdater updateFromRepositories: {'http://source.squeak.org/VMMaker'}.
aka.nice
  • 9,100
  • 1
  • 28
  • 40
  • Thanks, but the updater throws a Syntax Error in FreeTypeCacheLinkedList addFirst: aLink ([^lastLink _firstLink End of block expected ->_ aLink]). I have seen this before and even with manual fixing that method and accepting the change throws two debuggers later. By the way the update process breaks all the image with lots of red boxes with yellow lines. – user1000565 Jan 05 '13 at 22:56
  • I tried with version 12320, and these two Compiler Preferences selected, and got no download problem... `Allow block argument assignment` and `Allow underscore assignments` – aka.nice Jan 05 '13 at 23:05
  • Only `Allow underscore assignment` is necessary. Note that the MCMcmUpdater will download the version with highest number AFAIR, so the version should be up-to-date via the script (eventually bleeding edge). – aka.nice Jan 05 '13 at 23:10
  • My image hangs even with the *Allow underscore assignment* setting on. I think the issue needs further investigation. – user1000565 Jan 05 '13 at 23:18
3

Or you can open a SqueakMap package browser and load the VMMaker 'head' release. This does the same thing as loading the update from Monticello as described above. Either way you will be getting the latest version of VMMaker and related packages.

Dave Clemmer
  • 3,741
  • 12
  • 49
  • 72