Virtual machine 如何在Squeak中加载VMMaker?

Virtual machine 如何在Squeak中加载VMMaker?,virtual-machine,smalltalk,squeak,Virtual Machine,Smalltalk,Squeak,我正在使用Squeak 4.4更新12327和VM版本4.1.1。我尝试用ConfigurationOf脚本加载VMMaker,但总是失败,主要是在Freetype包中出现异常 Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfVMMaker'; load. ((Smalltalk at: #ConfigurationOfVMMaker) project ver

我正在使用Squeak 4.4更新12327和VM版本4.1.1。我尝试用ConfigurationOf脚本加载VMMaker,但总是失败,主要是在Freetype包中出现异常

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


软件包和(、或)都不包含加载VMMaker的说明或链接,尽管其中包含很多解释。

不幸的是,Metacello配置迄今为止仅由以Pharo为中心的用户创建和使用…
您最终可以纠正配置中的吱吱声分支,但从那里启动并不容易

如果您对oscog VM分支感兴趣,那么有一个预构建的4.3映像,其中预加载的包分布在此svn存储库中

在image子目录下,打开cogtrank43.image,有一个工作区解释如何在映像中加载包

如果您对经典解释器感兴趣,那么加载它的方法是使用更新MCM:

  • 打开Monticello浏览器
  • 添加VMMaker存储库
    (MCHttpRepository
    地点:'http://source.squeak.org/trunk'
    用户:“squeak”
    密码:“吱吱声”)
  • 选择并打开VMMaker存储库
  • 在左侧窗格中,选择“更新”(底部项目)
  • 在右侧窗格中选择顶部项目(更新dtl.12.mcm)
  • 选择“浏览”按钮
  • 如果您得到显示的软件包列表,请单击“安装”按钮
  • 虽然更新配置晚了几个版本,但不确定是否仍在维护,最好还是询问“Squeak虚拟机开发讨论”

    编辑我认为这个神奇的咒语可以取代上面所有面向GUI的操作:

    MCMcmUpdater updateFromRepositories: {'http://source.squeak.org/VMMaker'}.
    

    这要感谢David Lewis,在我们用来测试解释器VM的CI脚本中:

    MCMcmUpdater updateFromRepositories: #('http://source.squeak.org/VMMaker').
    (Smalltalk at: #VMMaker) initializeBrowserSupport. "activate Slang browsing"
    

    或者,您可以打开一个
    squekmap
    软件包浏览器并加载
    VMMaker
    “head”版本。这与如上所述从Monticello加载更新的操作相同。无论哪种方式,您都将获得最新版本的
    VMMaker
    和相关软件包。

    您对VMMaker的哪个分支感兴趣?经典VM(解释器)或COG VM(JIT/堆栈解释器)?它将是经典VM(解释器),我使用的是VM版本4.1.1。但是,如果有关于加载COG虚拟机的信息,我们将不胜感激。如果有更新MCM,请参阅我的答案。我也在vm开发人员邮件列表上问了这个问题……顺便说一下,我发现一个wiki页面提到了这个过程,但它并没有用一个明亮的标题突出显示……谢谢,但是更新程序在FreeTypeCacheLinkedList addFirst:aLink([^lastLink firstLink预期块结束->aLink])中抛出了一个语法错误。我以前见过这种情况,即使手动修复该方法并接受更改,之后也会抛出两个调试器。顺便说一句,更新过程会用很多带黄线的红框来破坏所有图像。我尝试了12320版本,选择了这两个编译器首选项,没有遇到下载问题<代码>允许块参数赋值和
    允许下划线赋值
    允许下划线赋值
    是必需的。请注意,MCMcmUpdater将下载AFAIR编号最高的版本,因此该版本应通过脚本(最终是最新版本)。即使启用了允许下划线分配设置,我的图像也会挂起。我认为这个问题需要进一步调查。
    MCMcmUpdater updateFromRepositories: {'http://source.squeak.org/VMMaker'}.
    
    MCMcmUpdater updateFromRepositories: #('http://source.squeak.org/VMMaker').
    (Smalltalk at: #VMMaker) initializeBrowserSupport. "activate Slang browsing"