Virtual machine 如何在Squeak中加载VMMaker?
我正在使用Squeak 4.4更新12327和VM版本4.1.1。我尝试用ConfigurationOf脚本加载VMMaker,但总是失败,主要是在Freetype包中出现异常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
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:
(MCHttpRepository
地点:'http://source.squeak.org/trunk'
用户:“squeak”
密码:“吱吱声”)
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"