[Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion

Esteban Lorenzano estebanlm at gmail.com
Sun Jan 29 12:12:01 EST 2012


Hi, 

let me explain how I build a vm from fresh start: 

1) install XCode (this is needed for the cocoa/carbon frameworks, not just the gcc)
with this installed, I need to make sure gcc points to correct compiler: latest xcode distributions replaced default compiler from gcc to llvm. So, gcc points to llvm compiler instead the correct one for us: gcc-4.2. 
So, you can do a quick fix by: 

sudo rm /usr/bin/gcc
sudo ln /usr/bin/gcc-4.2 gcc

1.1) Install also CMake
2) clone blessed sources from git: 

git clone git://gitorious.org/cogvm/blessed.git blessed

3) copy a fresh pharo image into [blessed]/image
4) execute this script: 

Gofer it 
	squeaksource: 'MetacelloRepository';
	package: 'ConfigurationOfCog';
	load.
(ConfigurationOfCog project version: '3.9') load.

NOTICE: ConfigurationOfCog installs cog (and stack) versions, ConfigurationOfVMMaker will install Interpreter version and gitorious versions might not work with this version (at least since 6 months I don't test it)

5) Execute this script: 

CogCocoaIOSConfig new 
	addExternalPlugins: #(FT2Plugin);
	generateSources; generate.

6) In [blessed]/build

6.1) execute:  ../codegen-scripts/extract-commit-info.sh
6.2) execue: cmake .
6.3) execute: make

this should work out of the box. I tried just now and it works on my machine, so... if it doesn't work for you, let me know the errors. 


El 29/01/2012, a las 10:47a.m., Nicolas Cellier escribió:

> I see, the package FreeType-tween.435 is in
> http://www.squeaksource.com/FreetypePlugin
> 
> There is a spec for it in the squeak branch
> (ConfigurationOfVMMaker>>baseline15:)
> 
> 	spec repository: 'http://www.squeaksource.com/FreeTypePlus';							
> 		package: 'Freetype'.
> 					
> But this spec is missing in Pharo...
> However, there is a FreeType package already loaded in Pharo
> (FreeType-StephaneDucasse.573 in Pharo 1.4) and if we browse this
> package history, FreeType-tween.435 is listed as one of its ancestors.
> 
> I tried to just add http://www.squeaksource.com/FreeTypePlus in the
> list or repository of Monticello package FreeType, but this did not
> solve anything.
> A workaround that drove me further was to add above spec in Pharo
> branch of #basline15:
> 
> I still have a warning:
> 
> This package depends on the following classes:
>  Project
> You must resolve these dependencies before you will be able to load
> these definitions:
>  beep
> 
> I did proceed...
> and many deprecation warning too:
> 
> The method Class>>addClassVarName: has been deprecated.
> Use addClassVarNamed:
> 
> Select Proceed to continue, or close this window to cancel the operation.
> 
> (same with addInstVarName:)
> 
> Then it tried to load FreeType-tween.435 which is not a good thing, we
> have a more recent version in image...
> 
> This package depends on the following classes:
>  TextMorphEditor
>  MultiCanvasCharacterScanner
>  CanvasCharacterScanner
>  DisplayScanner
>  TextLineInterval
> You must resolve these dependencies before you will be able to load
> these definitions:
>  cr
>  paddedSpace
>  tab
>  paddedSpace
>  cr
>  paddedSpace
>  tab
>  justifiedPadFor:font:
>  alphabeticalGroupsFor:size:
>  changeSelectionFontTo:
>  changeTextFont
>  changeTextFontAlphabeticalMenu
>  changeTextFontDialog
>  familyMemberFor:fromFamilies:
>  fontMenuItemsDisplayWithMenuFont
>  otherFontSizeDialog:
>  pointSizeMenuForFamilyMember:parentMenu:active:activePointSize:
> 
> 
> Select Proceed to continue, or close this window to cancel the operation.
> 
> If I cancel, then I don't know if the whole load is cancelled, or just
> this package (no UI feedback).
> Else if I proceed, installation of this obsolete package fail...
> Arghh.
> 
> So another workaround was to change #version15: and to remove FreeType
> spec from the #common branch, move it to the #squeak branch, and
> declare a more recent version of FreeType in the #pharo branch...
> 		spec
> 			package: 'FreeType' with: 'FreeType-StephaneDucasse.573';
> 
> But this specific version should be different in each version of Pharo...
> 
> Nicolas
> 
> 2012/1/29 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
>> And when I retry with a specific version, I get another Error because
>> FreeType cannot be resolved...
>> 
>> Gofer new
>>  squeaksource: 'MetacelloRepository';
>>  package: 'ConfigurationOfVMMaker';
>>  load.
>> ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') perform: #load.
>> 
>> Could that be that the developpers of this configuration missed the
>> bug because the item already was in their package-cache?
>> I think that relying on the package-cache is a good optimization for
>> speed, but should be forbiden when validating the configuration...
>> 
>> Nicolas
>> 
>> 29 January 2012 11:56:37 am
>> 
>> VM: Mac OS - intel - 1068 - CoInterpreter * VMMaker-oscog-nice2.99,
>> VMMaker-eem.35, VMMaker-oscog.52, VMMaker-oscog-dtl.63,
>> VMMaker.oscog-eem.139 uuid: f0429633-b524-4abb-95fa-e2cf44a37805 Dec
>> 4 2011, StackToRegisterMappingCogit * VMMaker-oscog-nice2.99,
>> VMMaker-eem.35, VMMaker-oscog.52, VMMaker-oscog-dtl.63,
>> VMMaker.oscog-eem.139 uuid: f0429633-b524-4abb-95fa-e2cf44a37805 Dec
>> 4 2011, r2519 http://squeakvm.org/svn/squeak/branches/Cog
>> Image: Pharo1.4a [Latest update: #14294]
>> 
>> MetacelloFetchingMCSpecLoader(Object)>>error:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                aString:        'Could not resolve: FreeType [FreeType-tween.435] in
>> /Users/nicolas/Sm...etc...
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>> <<error during printing>
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> [| references nearestReference cachedReference externalReference
>> loadedVersionInfos mcVersion |
>> self flag: #cleanup.
>>        cachedReference := self resolvePackageSpec: packageSpec cachedGofer:
>> self loaderPolicy cacheGofer.
>>        (cachedReference ~~ nil
>>                        and: [packageSpec getFile ~~ nil])
>>                ifTrue: [cachedReference name = packageSpec file
>>                                ifTrue: [^ self]].
>>        references := self retryingResolvePackageSpecReferences: packageSpec
>> gofer: gofer.
>>        nearestReference := references last asMetacelloCachingResolvedReference.
>>        (cachedReference ~~ nil
>>                        and: [cachedReference name = nearestReference name])
>>                ifTrue: [^ self].
>>        (self ignoreImage not
>>                        and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
>>                ifTrue: [loadedVersionInfos
>>                                do: [:info |
>>                                        info name = nearestReference name
>>                                                ifTrue: [^ self].
>>                                        nil]].
>>        externalReference := (references
>>                                select: [:ref | ref name = nearestReference name]) first
>> asMetacelloCachingResolvedReference.
>>        self repositoryMap at: externalReference name put: externalReference
>> repository.
>>        (self
>>                resolveDependencies: externalReference
>>                nearest: nearestReference
>>                into: (OrderedCollection with: nearestReference))
>>                do: [:reference |
>>                        | pSpec l |
>>                        mcVersion := reference version.
>>                        (l := (GoferVersionReference name: reference name)
>>                                                        resolveAllWith: self loaderPolicy cacheGofer) isEmpty
>>                                ifTrue: [self cacheRepository storeVersion: mcVersion.
>>                                        reference == nearestReference
>>                                                ifTrue: [pSpec := packageSpec]
>>                                                ifFalse: [pSpec := packageSpec project packageSpec.
>>                                                        pSpec name: mcVersion info].
>>                                        self loadData
>>                                                addVersion: mcVersion
>>                                                versionInfo: mcVersion info
>>                                                resolvedReference: reference
>>                                                packageSpec: pSpec]].
>>        self loaderPolicy resetCacheGofer.
>>        self preLoad: packageSpec.
>>        (MetacelloDirective
>>                loadPackage: packageSpec
>>                externalReference: externalReference
>>                loader: self)
>>                addTo: self loadDirective.
>>        self postLoad: packageSpec.
>>        Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- '
>> , externalReference repository description , ' --- ' ,
>> nearestReference repository description] in
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                packageSpec:    spec
>>        name: 'FreeType';
>>        file: 'FreeType-tween.435'.
>>                gofer:  a MetacelloGofer
>>                references:     nil
>>                nearestReference:       nil
>>                cachedReference:        nil
>>                externalReference:      nil
>>                loadedVersionInfos:     nil
>>                mcVersion:      #(nil)
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>>        Receiver: a MetacelloPharoPlatform
>>        Arguments and temporary variables:
>>                aBlock:         [:barValArg |
>> | barVal return newBarSize |
>> barVal := barValArg.
>>        retur...etc...
>>                bar:    [| references nearestReference cachedReference
>> externalReference loadedVer...etc...
>>        Receiver's instance variables:
>>                bypassProgressBars:     false
>>                bypassGoferLoadUpdateCategories:        false
>> 
>> [result := workBlock value: progress] in [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>>                progress:       [:barValArg |
>> | barVal return newBarSize |
>> barVal := barValArg.
>>        ret...etc...
>>                result:         #(nil)
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> BlockClosure>>on:do:
>>        Receiver: [result := workBlock value: progress]
>>        Arguments and temporary variables:
>>                exception:      ProgressNotification
>>                handlerAction:  [:ex |
>> ex extraParam isString
>>                ifTrue: [SystemProgressMorph un...etc...
>>                handlerActive:  true
>>        Receiver's instance variables:
>>                outerContext:   [[result := workBlock value: progress]
>>                on: ProgressNotification...etc...
>>                startpc:        87
>>                numArgs:        0
>> 
>> [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>>                progress:       [:barValArg |
>> | barVal return newBarSize |
>> barVal := barValArg.
>>        ret...etc...
>>                result:         #(nil)
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> BlockClosure>>ensure:
>>        Receiver: [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extr...etc...
>>        Arguments and temporary variables:
>>                aBlock:         [SystemProgressMorph close: progress]
>>                complete:       nil
>>                returnValue:    nil
>>        Receiver's instance variables:
>>                outerContext:   ProgressInitiationException>>defaultMorphicAction
>>                startpc:        81
>>                numArgs:        0
>> 
>> ProgressInitiationException>>defaultMorphicAction
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>>                progress:       [:barValArg |
>> | barVal return newBarSize |
>> barVal := barValArg.
>>        ret...etc...
>>                result:         #(nil)
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>>        Receiver: a MorphicUIManager
>>        Arguments and temporary variables:
>>                anException:    ProgressInitiationException
>>        Receiver's instance variables:
>>                interactiveParser:      nil
>> 
>> ProgressInitiationException>>defaultAction
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> UndefinedObject>>handleSignal:
>>        Receiver: nil
>>        Arguments and temporary variables:
>>                exception:      ProgressInitiationException
>>        Receiver's instance variables:
>> nil
>> 
>> MethodContext(ContextPart)>>handleSignal:
>>        Receiver: BlockClosure>>on:do:
>>        Arguments and temporary variables:
>>                exception:      ProgressInitiationException
>>                val:    nil
>>        Receiver's instance variables:
>>                sender:         PasteUpMorph>>becomeActiveDuring:
>>                pc:     17
>>                stackp:         3
>>                method:         (BlockClosure>>#on:do: "a CompiledMethod(954990592)")
>>                closureOrNil:   nil
>>                receiver:       [aBlock value]
>> 
>> MethodContext(ContextPart)>>handleSignal:
>>        Receiver: BlockClosure>>on:do:
>>        Arguments and temporary variables:
>>                exception:      ProgressInitiationException
>>                val:    nil
>>        Receiver's instance variables:
>>                sender:         SmalltalkEditor>>evaluateSelectionAndDo:
>>                pc:     17
>>                stackp:         3
>>                method:         (BlockClosure>>#on:do: "a CompiledMethod(954990592)")
>>                closureOrNil:   nil
>>                receiver:       [rcvr class evaluatorClass new
>>                evaluate: self selectionForDoitAsStr...etc...
>> 
>> MethodContext(ContextPart)>>handleSignal:
>>        Receiver: BlockClosure>>on:do:
>>        Arguments and temporary variables:
>>                exception:      ProgressInitiationException
>>                val:    nil
>>        Receiver's instance variables:
>>                sender:         [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do:...etc...
>>                pc:     17
>>                stackp:         3
>>                method:         (BlockClosure>>#on:do: "a CompiledMethod(954990592)")
>>                closureOrNil:   nil
>>                receiver:       [result := workBlock value: progress]
>> 
>> MethodContext(ContextPart)>>handleSignal:
>>        Receiver: BlockClosure>>on:do:
>>        Arguments and temporary variables:
>>                exception:      ProgressInitiationException
>>                val:    nil
>>        Receiver's instance variables:
>>                sender:         MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultD...etc...
>>                pc:     17
>>                stackp:         3
>>                method:         (BlockClosure>>#on:do: "a CompiledMethod(954990592)")
>>                closureOrNil:   nil
>>                receiver:       [^ aBlock value: dict]
>> 
>> ProgressInitiationException(Exception)>>signal
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> ProgressInitiationException>>display:at:from:to:during:
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>>                argString:      'Fetching FreeType-tween.435'
>>                argPoint:       (561 at 206)
>>                argMinVal:      0
>>                argMaxVal:      2
>>                argWorkBlock:   [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>        Receiver's instance variables:
>>                messageText:    nil
>>                tag:    nil
>>                signaler:       'Fetching FreeType-tween.435'
>>                signalContext:  ProgressInitiationException(Exception)>>signal
>>                handlerContext:         nil
>>                outerContext:   nil
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>                maxVal:         2
>>                minVal:         0
>>                aPoint:         (561 at 206)
>>                progressTitle:  'Fetching FreeType-tween.435'
>> 
>> ProgressInitiationException class>>display:at:from:to:during:
>>        Receiver: ProgressInitiationException
>>        Arguments and temporary variables:
>>                aString:        'Fetching FreeType-tween.435'
>>                aPoint:         (561 at 206)
>>                minVal:         0
>>                maxVal:         2
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>        Receiver's instance variables:
>>                superclass:     Exception
>>                methodDict:     a
>> MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
>>                format:         152
>>                instanceVariables:      #('workBlock' 'maxVal' 'minVal' 'aPoint' 'progressTitle')
>>                organization:   ('*Morphic' defaultMorphicAction)
>> ('accessing' maxVal minVal poin...etc...
>>                subclasses:     nil
>>                name:   #ProgressInitiationException
>>                classPool:      nil
>>                sharedPools:    nil
>>                environment:    a SystemDictionary(lots of globals)
>>                category:       #'UIManager-Support'
>>                traitComposition:       nil
>>                localSelectors:         nil
>> 
>> ByteString(String)>>displayProgressAt:from:to:during:
>>        Receiver: 'Fetching FreeType-tween.435'
>>        Arguments and temporary variables:
>>                aPoint:         (561 at 206)
>>                minVal:         0
>>                maxVal:         2
>>                workBlock:      [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2]
>>        Receiver's instance variables:
>> 'Fetching FreeType-tween.435'
>> 
>> MetacelloPharoPlatform>>do:displaying:
>>        Receiver: a MetacelloPharoPlatform
>>        Arguments and temporary variables:
>>                aBlock:         [| references nearestReference cachedReference
>> externalReference loaded...etc...
>>                aString:        'Fetching FreeType-tween.435'
>>        Receiver's instance variables:
>>                bypassProgressBars:     false
>>                bypassGoferLoadUpdateCategories:        false
>> 
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                packageSpec:    spec
>>        name: 'FreeType';
>>        file: 'FreeType-tween.435'.
>>                gofer:  a MetacelloGofer
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> MetacelloPackageSpec>>loadUsing:gofer:
>>        Receiver: spec
>>        name: 'FreeType';
>>        file: 'FreeType-tween.435'.
>>        Arguments and temporary variables:
>>                aLoader:        a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMa...etc...
>>                gofer:  a MetacelloGofer
>>        Receiver's instance variables:
>>                project:        ConfigurationOfVMMaker(1.0-baseline
>> [ConfigurationOfVMMaker], 1.0 [Con...etc...
>>                loader:         nil
>>                name:   'FreeType'
>>                requires:       #()
>>                includes:       #()
>>                answers:        #()
>>                file:   'FreeType-tween.435'
>>                repositories:   spec
>> 
>>                goferPackage:   a MetacelloGoferPackage name: 'FreeType'
>>                preLoadDoIt:    nil
>>                postLoadDoIt:   nil
>> 
>> [:pkg | pkg loadUsing: self gofer: gofer] in
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                gofer:  spec
>>        name: 'FreeType';
>>        file: 'FreeType-tween.435'.
>>                pkg:    a MetacelloGofer
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> OrderedCollection>>do:
>>        Receiver: an OrderedCollection(spec
>>        name: 'FFI-Pools';
>>        file: 'FFI-Pools-ar.1'. spec
>>        name: 'Shar...etc...
>>        Arguments and temporary variables:
>>                aBlock:         [:pkg | pkg loadUsing: self gofer: gofer]
>>                index:  14
>>        Receiver's instance variables:
>>                array:  an Array(spec
>>        name: 'FFI-Pools';
>>        file: 'FFI-Pools-ar.1'. spec
>>        name:...etc...
>>                firstIndex:     1
>>                lastIndex:      14
>> 
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                packageSpecs:   an OrderedCollection(spec
>>        name: 'FFI-Pools';
>>        file: 'FFI-Pools-...etc...
>>                repositories:   an OrderedCollection(a
>> MCHttpRepository(http://www.squeaksource.c...etc...
>>                gofer:  a MetacelloGofer
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> [super linearLoadPackageSpecs: packageSpecs repositories:
>> repositories] in
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                packageSpecs:   an OrderedCollection(spec
>>        name: 'FFI-Pools';
>>        file: 'FFI-Pools-...etc...
>>                repositories:   an OrderedCollection(a
>> MCHttpRepository(http://www.squeaksource.c...etc...
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> BlockClosure>>ensure:
>>        Receiver: [super linearLoadPackageSpecs: packageSpecs repositories:
>> repositories]
>>        Arguments and temporary variables:
>>                aBlock:         [loadDirective := oldRoot]
>>                complete:       nil
>>                returnValue:    nil
>>        Receiver's instance variables:
>>                outerContext:
>>        MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositorie...etc...
>>                startpc:        33
>>                numArgs:        0
>> 
>> MetacelloLoaderPolicy>>pushLoadDirective:during:
>>        Receiver: a MetacelloLoaderPolicy
>>        Arguments and temporary variables:
>>                aLoaderDirective:       linear load : 1.2 [ConfigurationOfVMMaker]
>>        load : FFI-Pools-...etc...
>>                aBlock:         [super linearLoadPackageSpecs: packageSpecs repositories:
>> repositories]...etc...
>>                oldRoot:        linear load :
>>        preload : 1.2 [ConfigurationOfVMMaker] >> pharoUndesco...etc...
>>        Receiver's instance variables:
>>                overrideRepositories:   nil
>>                repositoryMap:  a Dictionary('Alien-VMMaker-Support-John M
>> McIntosh.8'->a MCHttp...etc...
>>                ensuredMap:     a Dictionary()
>>                cacheRepository:        a MCDictionaryRepository(cache)
>>                cacheGofer:     a Gofer
>>                ignoreImage:    false
>>                loadData:       a MetacelloLoadData
>>                loadDirective:  linear load : 1.2 [ConfigurationOfVMMaker]
>>        load : FFI-Pools-ar....etc...
>>                silently:       false
>> 
>> MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:
>>        Receiver: a MetacelloLoaderPolicy
>>        Arguments and temporary variables:
>>                aBlock:         [super linearLoadPackageSpecs: packageSpecs repositories:
>> repositories]...etc...
>>                aLoader:        a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMa...etc...
>>        Receiver's instance variables:
>>                overrideRepositories:   nil
>>                repositoryMap:  a Dictionary('Alien-VMMaker-Support-John M
>> McIntosh.8'->a MCHttp...etc...
>>                ensuredMap:     a Dictionary()
>>                cacheRepository:        a MCDictionaryRepository(cache)
>>                cacheGofer:     a Gofer
>>                ignoreImage:    false
>>                loadData:       a MetacelloLoadData
>>                loadDirective:  linear load : 1.2 [ConfigurationOfVMMaker]
>>        load : FFI-Pools-ar....etc...
>>                silently:       false
>> 
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                packageSpecs:   an OrderedCollection(spec
>>        name: 'FFI-Pools';
>>        file: 'FFI-Pools-...etc...
>>                repositories:   an OrderedCollection(a
>> MCHttpRepository(http://www.squeaksource.c...etc...
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load
>>        Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMaker]
>>        load : FFI-Poo...etc...
>>        Arguments and temporary variables:
>>                repos:  an OrderedCollection(a
>> MCHttpRepository(http://www.squeaksource.com/Spee...etc...
>>        Receiver's instance variables:
>>                spec:   a MetacelloMCVersionSpecLoader
>>                operator:       nil
>>                loaderPolicy:   a MetacelloLoaderPolicy
>>                disablePackageCache:    false
>> 
>> MetacelloMCVersionSpecLoader>>load
>>        Receiver: a MetacelloMCVersionSpecLoader
>>        Arguments and temporary variables:
>>                mcLoader:       a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMM...etc...
>>        Receiver's instance variables:
>>                versionSpec:    spec blessing: #'development'.
>> spec preLoadDoIt: #'pharoUndescoreA...etc...
>>                required:       a Set('FreeType' 'default')
>>                packages:       a Dictionary('Alien-VMMaker-Support'->spec
>>        name: 'Alien-VMMaker-Sup...etc...
>>                loader:         a MetacelloFetchingMCSpecLoader(linear load : 1.2
>> [ConfigurationOfVMMak...etc...
>>                loaderPolicy:   a MetacelloLoaderPolicy
>> 
>> MetacelloMCVersion>>executeLoadFromArray:
>>        Receiver: >=1.2 [ConfigurationOfVMMaker]
>>        Arguments and temporary variables:
>>                anArray:        a Set('FreeType' 'default')
>>                loader:         a MetacelloMCVersionSpecLoader
>>                mcLoader:       nil
>>        Receiver's instance variables:
>>                spec:   spec blessing: #'development'.
>> spec preLoadDoIt: #'pharoUndescoreAssignme...etc...
>>                versionNumber:  1.2
>>                importedVersions:       an OrderedCollection('1.2-baseline')
>>                versionStatus:  #loadedMatchConstraints
>>                loaderPolicy:   a MetacelloLoaderPolicy
>> 
>> [:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec
>> loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new]
>>                ensure: [self versionSpec loader: originalLoader]] in
>> MetacelloMCVersion>>fetchRequiredFromArray:
>>        Receiver: >=1.2 [ConfigurationOfVMMaker]
>>        Arguments and temporary variables:
>>                anArray:        a Dictionary(#ancestors->a
>> Dictionary('Alien-VMMaker-Support-John M Mc...etc...
>>                dict:   a Set('FreeType' 'default')
>>        Receiver's instance variables:
>>                spec:   spec blessing: #'development'.
>> spec preLoadDoIt: #'pharoUndescoreAssignme...etc...
>>                versionNumber:  1.2
>>                importedVersions:       an OrderedCollection('1.2-baseline')
>>                versionStatus:  #loadedMatchConstraints
>>                loaderPolicy:   a MetacelloLoaderPolicy
>> 
>> [^ aBlock value: dict] in
>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>>        Receiver: a MetacelloPharoPlatform
>>        Arguments and temporary variables:
>>                aBlock:         [:dict | ^ self executeLoadFromArray: anArray]
>>                dict:   a Dictionary(#ancestors->a
>> Dictionary('Alien-VMMaker-Support-John M McInt...etc...
>>        Receiver's instance variables:
>>                bypassProgressBars:     false
>>                bypassGoferLoadUpdateCategories:        false
>> 
>> BlockClosure>>on:do:
>>        Receiver: [^ aBlock value: dict]
>>        Arguments and temporary variables:
>>                exception:      an ExceptionSet
>>                handlerAction:  [:ex |
>> | keys |
>> (ex isKindOf: MetacelloStackCacheNotification)
>> ...etc...
>>                handlerActive:  true
>>        Receiver's instance variables:
>>                outerContext:
>>        MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:de...etc...
>>                startpc:        100
>>                numArgs:        0
>> 
>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>>        Receiver: a MetacelloPharoPlatform
>>        Arguments and temporary variables:
>>                aBlock:         [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary:      a Dictionary(#ancestors->a
>> Dictionary('Alien-VMMaker-Support...etc...
>>                dict:   a Dictionary(#ancestors->a
>> Dictionary('Alien-VMMaker-Support-John M McInt...etc...
>>        Receiver's instance variables:
>>                bypassProgressBars:     false
>>                bypassGoferLoadUpdateCategories:        false
>> 
>> [self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new]
>>                ensure: [self versionSpec loader: originalLoader]] in
>> MetacelloMCVersion>>fetchRequiredFromArray:
>>        Receiver: >=1.2 [ConfigurationOfVMMaker]
>>        Arguments and temporary variables:
>>                anArray:        a Set('FreeType' 'default')
>>                newLoader:      a MetacelloFetchingMCSpecLoader(linear load : )
>>        Receiver's instance variables:
>>                spec:   spec blessing: #'development'.
>> spec preLoadDoIt: #'pharoUndescoreAssignme...etc...
>>                versionNumber:  1.2
>>                importedVersions:       an OrderedCollection('1.2-baseline')
>>                versionStatus:  #loadedMatchConstraints
>>                loaderPolicy:   a MetacelloLoaderPolicy
>> 
>> 
>> --- The full stack ---
>> MetacelloFetchingMCSpecLoader(Object)>>error:
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
>> [| references nearestReference cachedReference externalReference
>> loadedVersionInfos mcVersion |
>> self flag: #cleanup.
>>        cachedReference := self resolvePackageSpec: packageSpec cachedGofer:
>> self loaderPolicy cacheGofer.
>>        (cachedReference ~~ nil
>>                        and: [packageSpec getFile ~~ nil])
>>                ifTrue: [cachedReference name = packageSpec file
>>                                ifTrue: [^ self]].
>>        references := self retryingResolvePackageSpecReferences: packageSpec
>> gofer: gofer.
>>        nearestReference := references last asMetacelloCachingResolvedReference.
>>        (cachedReference ~~ nil
>>                        and: [cachedReference name = nearestReference name])
>>                ifTrue: [^ self].
>>        (self ignoreImage not
>>                        and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
>>                ifTrue: [loadedVersionInfos
>>                                do: [:info |
>>                                        info name = nearestReference name
>>                                                ifTrue: [^ self].
>>                                        nil]].
>>        externalReference := (references
>>                                select: [:ref | ref name = nearestReference name]) first
>> asMetacelloCachingResolvedReference.
>>        self repositoryMap at: externalReference name put: externalReference
>> repository.
>>        (self
>>                resolveDependencies: externalReference
>>                nearest: nearestReference
>>                into: (OrderedCollection with: nearestReference))
>>                do: [:reference |
>>                        | pSpec l |
>>                        mcVersion := reference version.
>>                        (l := (GoferVersionReference name: reference name)
>>                                                        resolveAllWith: self loaderPolicy cacheGofer) isEmpty
>>                                ifTrue: [self cacheRepository storeVersion: mcVersion.
>>                                        reference == nearestReference
>>                                                ifTrue: [pSpec := packageSpec]
>>                                                ifFalse: [pSpec := packageSpec project packageSpec.
>>                                                        pSpec name: mcVersion info].
>>                                        self loadData
>>                                                addVersion: mcVersion
>>                                                versionInfo: mcVersion info
>>                                                resolvedReference: reference
>>                                                packageSpec: pSpec]].
>>        self loaderPolicy resetCacheGofer.
>>        self preLoad: packageSpec.
>>        (MetacelloDirective
>>                loadPackage: packageSpec
>>                externalReference: externalReference
>>                loader: self)
>>                addTo: self loadDirective.
>>        self postLoad: packageSpec.
>>        Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- '
>> , externalReference repository description , ' --- ' ,
>> nearestReference repository description] in
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>> [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>> [result := workBlock value: progress] in [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>> BlockClosure>>on:do:
>> [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>> BlockClosure>>ensure:
>> ProgressInitiationException>>defaultMorphicAction
>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>> ProgressInitiationException>>defaultAction
>> UndefinedObject>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> ProgressInitiationException(Exception)>>signal
>> ProgressInitiationException>>display:at:from:to:during:
>> ProgressInitiationException class>>display:at:from:to:during:
>> ByteString(String)>>displayProgressAt:from:to:during:
>> MetacelloPharoPlatform>>do:displaying:
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>> MetacelloPackageSpec>>loadUsing:gofer:
>> [:pkg | pkg loadUsing: self gofer: gofer] in
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>> OrderedCollection>>do:
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>> [super linearLoadPackageSpecs: packageSpecs repositories:
>> repositories] in
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>> BlockClosure>>ensure:
>> MetacelloLoaderPolicy>>pushLoadDirective:during:
>> MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:
>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load
>> MetacelloMCVersionSpecLoader>>load
>> MetacelloMCVersion>>executeLoadFromArray:
>> [:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec
>> loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new]
>>                ensure: [self versionSpec loader: originalLoader]] in
>> MetacelloMCVersion>>fetchRequiredFromArray:
>> [^ aBlock value: dict] in
>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>> BlockClosure>>on:do:
>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>> [self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new]
>>                ensure: [self versionSpec loader: originalLoader]] in
>> MetacelloMCVersion>>fetchRequiredFromArray:
>>  - - - - - - - - - - - - - - -
>>                        - - - - - - - - - - - - - - - - - -
>> BlockClosure>>ensure:
>> [[self versionSpec loader: newLoader.
>>        MetacelloPlatform current
>>                useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>                defaultDictionary: Dictionary new]
>>                ensure: [self versionSpec loader: originalLoader]] in
>> MetacelloMCVersion>>fetchRequiredFromArray:
>> [:bar |
>> bar value: 1.
>>        aBlock value.
>>        bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>> [result := workBlock value: progress] in [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>> BlockClosure>>on:do:
>> [[result := workBlock value: progress]
>>                on: ProgressNotification
>>                do: [:ex |
>>                        ex extraParam isString
>>                                ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put:
>> ex extraParam].
>>                        ex resume]] in ProgressInitiationException>>defaultMorphicAction
>> BlockClosure>>ensure:
>> ProgressInitiationException>>defaultMorphicAction
>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>> ProgressInitiationException>>defaultAction
>> UndefinedObject>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> MethodContext(ContextPart)>>handleSignal:
>> ProgressInitiationException(Exception)>>signal
>> ProgressInitiationException>>display:at:from:to:during:
>> ProgressInitiationException class>>display:at:from:to:during:
>> ByteString(String)>>displayProgressAt:from:to:during:
>> MetacelloPharoPlatform>>do:displaying:
>> MetacelloMCVersion>>fetchRequiredFromArray:
>> [| fetchLoader |
>> fetchLoader := self
>>                                fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
>>        MetacelloPlatform current
>>                do: [fetchLoader doLoad]
>>                displaying: 'Loading ' , displayString.
>>        Transcript cr; show: '...finished ' , self versionNumber printString.
>>        ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray:
>> BlockClosure>>ensure:
>> MetacelloMCVersion>>doLoadRequiredFromArray:
>> MetacelloMCVersion>>load
>> UndefinedObject>>DoIt
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> [rcvr class evaluatorClass new
>>                evaluate: self selectionForDoitAsStream
>>                in: ctxt
>>                to: rcvr
>>                notifying: self morph
>>                ifFail: [self morph flash.
>>                        ^ nil]
>>                logged: true] in SmalltalkEditor>>evaluateSelectionAndDo:
>> BlockClosure>>on:do:
>> SmalltalkEditor>>evaluateSelectionAndDo:
>> SmalltalkEditor>>evaluateSelection
>> SmalltalkEditor>>doIt
>> SmalltalkEditor>>doIt:
>> SmalltalkEditor(TextEditor)>>performCmdActionsWith:shifted:return:
>> SmalltalkEditor(TextEditor)>>dispatchCommandOn:return:
>> SmalltalkEditor(TextEditor)>>dispatchOn:
>> [self dispatchOn: aKeyboardEvent] in SmalltalkEditor(TextEditor)>>keystroke:
>> SmalltalkEditor(TextEditor)>>handleKeystrokeAction:
>> SmalltalkEditor(TextEditor)>>handleEditionAction:fromKeyboardEvent:
>> SmalltalkEditor(TextEditor)>>keystroke:
>> [editor keystroke: evt] in [| action |
>> evt keyValue = 13
>>                ifTrue: [action := self crAction.
>>                        action
>>                                ifNotNil: [evt hand newKeyboardFocus: nil.
>>                                        ^ action value]].
>>        self
>>                handleInteraction: [editor keystroke: evt].
>>        self updateFromParagraph.
>>        super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
>> TextMorphForEditView(TextMorph)>>handleInteraction:
>> TextMorphForEditView>>handleInteraction:
>> [| action |
>> evt keyValue = 13
>>                ifTrue: [action := self crAction.
>>                        action
>>                                ifNotNil: [evt hand newKeyboardFocus: nil.
>>                                        ^ action value]].
>>        self
>>                handleInteraction: [editor keystroke: evt].
>>        self updateFromParagraph.
>>        super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
>> ToolRegistry>>codeCompletionAround:textMorph:keyStroke:
>> SmalltalkEditor>>codeCompletionAround:textMorph:keyStroke:
>> TextMorphForEditView(TextMorph)>>keyStroke:
>> TextMorphForEditView>>keyStroke:
>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>> KeyboardEvent>>sentTo:
>> TextMorphForEditView(Morph)>>handleEvent:
>> TextMorphForEditView(Morph)>>handleFocusEvent:
>> [ActiveHand := self.
>>        ActiveEvent := anEvent.
>>        result := focusHolder
>>                                handleFocusEvent: (anEvent
>>                                                transformedBy: (focusHolder transformedFrom: self))] in
>> HandMorph>>sendFocusEvent:to:clear:
>> [aBlock value] in PasteUpMorph>>becomeActiveDuring:
>> BlockClosure>>on:do:
>> PasteUpMorph>>becomeActiveDuring:
>> HandMorph>>sendFocusEvent:to:clear:
>> HandMorph>>sendEvent:focus:clear:
>> HandMorph>>sendKeyboardEvent:
>> HandMorph>>handleEvent:
>> HandMorph>>processEvents
>> [:h |
>> ActiveHand := h.
>>        h processEvents.
>>        ActiveHand := nil] in WorldState>>doOneCycleNowFor:
>> Array(SequenceableCollection)>>do:
>> WorldState>>handsDo:
>> WorldState>>doOneCycleNowFor:
>> WorldState>>doOneCycleFor:
>> PasteUpMorph>>doOneCycle
>> [[World doOneCycle.
>>        Processor yield.
>>        false] whileFalse.
>>        nil] in MorphicUIManager>>spawnNewProcess
>> [self value.
>>        Processor terminateActive] in BlockClosure>>newProcess
>> 
>> 
>> 2012/1/29 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
>>> 2012/1/29 dimitris chloupis <thekilon at yahoo.co.uk>:
>>>> I am not accusing you or anything , I know writing documentation can be both
>>>> hard and boring. And if I can help to make it simpler I will.
>>>> 
>>> 
>>> Sure, but sometimes adding a link or two in the right place would help...
>>> 
>>>> Back to building , followed your instruction and
>>>> 
>>>> "
>>>> Gofer new
>>>>   squeaksource: 'MetacelloRepository';
>>>>   package: 'ConfigurationOfVMMaker';
>>>>   load.
>>>> (Smalltalk at: #ConfigurationOfVMMaker) perform: #load."
>>>> 
>>>> 
>>>> gives me the following error
>>>> 
>>> 
>>> Ah, my incantation does not work, it's more something like this:
>>> 
>>> Gofer new
>>>   squeaksource: 'MetacelloRepository';
>>>   package: 'ConfigurationOfVMMaker';
>>>   load.
>>> ((Smalltalk at: #ConfigurationOfVMMaker) project perform:
>>> #latestVersion) perform: #load.
>>> 
>>> Then I have same error as you...
>>> It seems like http://source.impara.de/freetype/Freetype-Plugin-John M
>>> McIntosh.55.mcz is accessible though...
>>> So here, I don't know...
>>> 
>>> Nicolas
>>> 
>>>> 
>>>> 
>>>> 29 January 2012 11:56:20 am
>>>> 
>>>> VM: Mac OS - intel - 1072 - NBCoInterpreter
>>>> NativeBoost-CogPlugin-IgorStasenko.8 uuid:
>>>> f47ef546-de3d-4415-850e-6437d67bfb5c Dec 11 2011,
>>>> StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid:
>>>> 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Dec 11 2011,
>>>> https://git.gitorious.org/cogvm/blessed.git Commit:
>>>> 364a7f1fab69798c1bdc9575ba15e18ea319585a Date: Sun Dec 11 15:17:52 2011
>>>> -0300 By: Esteban Lorenzano <estebanlm at gmail.com>
>>>> Image: Pharo1.4a [Latest update: #14284]
>>>> 
>>>> UndefinedObject(Object)>>doesNotUnderstand: #readStream
>>>> Receiver: nil
>>>> Arguments and temporary variables:
>>>> aMessage: readStream
>>>> exception: MessageNotUnderstood: receiver of "readStream" is nil
>>>> resumeValue: nil
>>>> Receiver's instance variables:
>>>> nil
>>>> 
>>>> MCScanner class>>scanTokens:
>>>> Receiver: MCScanner
>>>> Arguments and temporary variables:
>>>> aString: nil
>>>> Receiver's instance variables:
>>>> superclass: Object
>>>> methodDict: a MethodDictionary(#next->(MCScanner>>#next "a
>>>> CompiledMethod(84410...etc...
>>>> format: 132
>>>> instanceVariables: #('stream')
>>>> organization: ('as yet unclassified' next nextArray nextString nextSymbol
>>>> strea...etc...
>>>> subclasses: nil
>>>> name: #MCScanner
>>>> classPool: nil
>>>> sharedPools: nil
>>>> environment: a SystemDictionary(lots of globals)
>>>> category: #'Monticello-Chunk Format'
>>>> traitComposition: {}
>>>> localSelectors: nil
>>>> 
>>>> MCMczReader>>parseMember:
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> fileName: 'package'
>>>> tokens: nil
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> MCMczReader>>loadPackage
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> dict: nil
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> MCMczReader(MCVersionReader)>>package
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> MCMczReader(MCVersionReader)>>basicVersion
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> MCMczReader(MCVersionReader)>>version
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> [:r | r version] in
>>>> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
>>>> Receiver: a MCHttpRepository(http://source.impara.de/freetype)
>>>> Arguments and temporary variables:
>>>> r: a MCMczReader
>>>> Receiver's instance variables:
>>>> creationTemplate: nil
>>>> storeDiffs: nil
>>>> cache: nil
>>>> allFileNames: nil
>>>> location: 'http://source.impara.de/freetype'
>>>> user: ''
>>>> password: ''
>>>> readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a
>>>> MCMczRead...etc...
>>>> 
>>>> BlockClosure>>cull:
>>>> Receiver: [:r | r version]
>>>> Arguments and temporary variables:
>>>> anArg: a MCMczReader
>>>> Receiver's instance variables:
>>>> outerContext:
>>>> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed...etc...
>>>> startpc: 27
>>>> numArgs: 1
>>>> 
>>>> MCMczReader(ProtoObject)>>ifNotNil:
>>>> Receiver: a MCMczReader
>>>> Arguments and temporary variables:
>>>> ifNotNilBlock: [:r | r version]
>>>> Receiver's instance variables:
>>>> stream: a ReadStream
>>>> package: nil
>>>> info: nil
>>>> definitions: nil
>>>> dependencies: nil
>>>> zip: a ZipArchive
>>>> infoCache: nil
>>>> 
>>>> MCHttpRepository>>versionReaderForFileNamed:do:
>>>> Receiver: a MCHttpRepository(http://source.impara.de/freetype)
>>>> Arguments and temporary variables:
>>>> aString: 'Freetype-Plugin-John M McIntosh.55.mcz'
>>>> aBlock: [:r | r version]
>>>> Receiver's instance variables:
>>>> creationTemplate: nil
>>>> storeDiffs: nil
>>>> cache: nil
>>>> allFileNames: nil
>>>> location: 'http://source.impara.de/freetype'
>>>> user: ''
>>>> password: ''
>>>> readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a
>>>> MCMczRead...etc...
>>>> 
>>>> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
>>>> Receiver: a MCHttpRepository(http://source.impara.de/freetype)
>>>> Arguments and temporary variables:
>>>> aString: 'Freetype-Plugin-John M McIntosh.55.mcz'
>>>> Receiver's instance variables:
>>>> creationTemplate: nil
>>>> storeDiffs: nil
>>>> cache: nil
>>>> allFileNames: nil
>>>> location: 'http://source.impara.de/freetype'
>>>> user: ''
>>>> password: ''
>>>> readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a
>>>> MCMczRead...etc...
>>>> 
>>>> MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom:
>>>> Receiver: a MCHttpRepository(http://source.impara.de/freetype)
>>>> Arguments and temporary variables:
>>>> aVersionReference: a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plu...etc...
>>>> Receiver's instance variables:
>>>> creationTemplate: nil
>>>> storeDiffs: nil
>>>> cache: nil
>>>> allFileNames: nil
>>>> location: 'http://source.impara.de/freetype'
>>>> user: ''
>>>> password: ''
>>>> readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a
>>>> MCMczRead...etc...
>>>> 
>>>> MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
>>>> Receiver: a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plugin-John M McIntosh.55'
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> name: 'Freetype-Plugin-John M McIntosh.55'
>>>> package: 'Freetype-Plugin'
>>>> author: 'John M McIntosh'
>>>> branch: ''
>>>> versionNumber: 55
>>>> repository: a MCHttpRepository(http://source.impara.de/freetype)
>>>> cachedVersion: nil
>>>> 
>>>> MetacelloCachingGoferResolvedReference>>version
>>>> Receiver: a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plugin-John M McIntosh.55'
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> name: 'Freetype-Plugin-John M McIntosh.55'
>>>> package: 'Freetype-Plugin'
>>>> author: 'John M McIntosh'
>>>> branch: ''
>>>> versionNumber: 55
>>>> repository: a MCHttpRepository(http://source.impara.de/freetype)
>>>> cachedVersion: nil
>>>> 
>>>> [:each | each version] in [aCollection
>>>> do: [:each | each version].
>>>> nearestReference version dependencies do: block.
>>>> notDone := false] in
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3
>>>> [ConfigurationOfVMMaker]
>>>> load : FFI-Poo...etc...
>>>> Arguments and temporary variables:
>>>> each: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M
>>>> Mc...etc...
>>>> Receiver's instance variables:
>>>> spec: a MetacelloMCVersionSpecLoader
>>>> operator: nil
>>>> loaderPolicy: a MetacelloLoaderPolicy
>>>> disablePackageCache: false
>>>> 
>>>> OrderedCollection>>do:
>>>> Receiver: an OrderedCollection(a MetacelloCachingGoferResolvedReference
>>>> name: 'Freetype-Plugin-John ...etc...
>>>> Arguments and temporary variables:
>>>> aBlock: [:each | each version]
>>>> index: 1
>>>> Receiver's instance variables:
>>>> array: an Array(a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plugin...etc...
>>>> firstIndex: 1
>>>> lastIndex: 1
>>>> 
>>>> [aCollection
>>>> do: [:each | each version].
>>>> nearestReference version dependencies do: block.
>>>> notDone := false] in
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3
>>>> [ConfigurationOfVMMaker]
>>>> load : FFI-Poo...etc...
>>>> Arguments and temporary variables:
>>>> <<error during printing>
>>>> Receiver's instance variables:
>>>> spec: a MetacelloMCVersionSpecLoader
>>>> operator: nil
>>>> loaderPolicy: a MetacelloLoaderPolicy
>>>> disablePackageCache: false
>>>> 
>>>> BlockClosure>>on:do:
>>>> Receiver: [aCollection
>>>> do: [:each | each version].
>>>> nearestReference version dependencies do: bloc...etc...
>>>> Arguments and temporary variables:
>>>> exception: Error
>>>> handlerAction: [:ex |
>>>> retryCount := retryCount + 1.
>>>> retryCount >= 3
>>>> ifTrue:...etc...
>>>> handlerActive: false
>>>> Receiver's instance variables:
>>>> outerContext:
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> startpc: 226
>>>> numArgs: 0
>>>> 
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3
>>>> [ConfigurationOfVMMaker]
>>>> load : FFI-Poo...etc...
>>>> Arguments and temporary variables:
>>>> <<error during printing>
>>>> Receiver's instance variables:
>>>> spec: a MetacelloMCVersionSpecLoader
>>>> operator: nil
>>>> loaderPolicy: a MetacelloLoaderPolicy
>>>> disablePackageCache: false
>>>> 
>>>> [| references nearestReference cachedReference externalReference
>>>> loadedVersionInfos mcVersion |
>>>> self flag: #cleanup.
>>>> cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self
>>>> loaderPolicy cacheGofer.
>>>> (cachedReference ~~ nil
>>>> and: [packageSpec getFile ~~ nil])
>>>> ifTrue: [cachedReference name = packageSpec file
>>>> ifTrue: [^ self]].
>>>> references := self retryingResolvePackageSpecReferences: packageSpec gofer:
>>>> gofer.
>>>> nearestReference := references last asMetacelloCachingResolvedReference.
>>>> (cachedReference ~~ nil
>>>> and: [cachedReference name = nearestReference name])
>>>> ifTrue: [^ self].
>>>> (self ignoreImage not
>>>> and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
>>>> ifTrue: [loadedVersionInfos
>>>> do: [:info |
>>>> info name = nearestReference name
>>>> ifTrue: [^ self].
>>>> nil]].
>>>> externalReference := (references
>>>> select: [:ref | ref name = nearestReference name]) first
>>>> asMetacelloCachingResolvedReference.
>>>> self repositoryMap at: externalReference name put: externalReference
>>>> repository.
>>>> (self
>>>> resolveDependencies: externalReference
>>>> nearest: nearestReference
>>>> into: (OrderedCollection with: nearestReference))
>>>> do: [:reference |
>>>> | pSpec l |
>>>> mcVersion := reference version.
>>>> (l := (GoferVersionReference name: reference name)
>>>> resolveAllWith: self loaderPolicy cacheGofer) isEmpty
>>>> ifTrue: [self cacheRepository storeVersion: mcVersion.
>>>> reference == nearestReference
>>>> ifTrue: [pSpec := packageSpec]
>>>> ifFalse: [pSpec := packageSpec project packageSpec.
>>>> pSpec name: mcVersion info].
>>>> self loadData
>>>> addVersion: mcVersion
>>>> versionInfo: mcVersion info
>>>> resolvedReference: reference
>>>> packageSpec: pSpec]].
>>>> self loaderPolicy resetCacheGofer.
>>>> self preLoad: packageSpec.
>>>> (MetacelloDirective
>>>> loadPackage: packageSpec
>>>> externalReference: externalReference
>>>> loader: self)
>>>> addTo: self loadDirective.
>>>> self postLoad: packageSpec.
>>>> Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' ,
>>>> externalReference repository description , ' --- ' , nearestReference
>>>> repository description] in
>>>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>>>> Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3
>>>> [ConfigurationOfVMMaker]
>>>> load : FFI-Poo...etc...
>>>> Arguments and temporary variables:
>>>> packageSpec: spec
>>>> name: 'Freetype-Plugin';
>>>> requires: #('VMMaker' );
>>>> file: '...etc...
>>>> gofer: a MetacelloGofer
>>>> references: an Array(a GoferResolvedReference name: 'Freetype-Plugin-John M
>>>> McI...etc...
>>>> nearestReference: a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plug...etc...
>>>> cachedReference: nil
>>>> externalReference: a MetacelloCachingGoferResolvedReference name:
>>>> 'Freetype-Plu...etc...
>>>> loadedVersionInfos: nil
>>>> mcVersion: #(nil)
>>>> Receiver's instance variables:
>>>> spec: a MetacelloMCVersionSpecLoader
>>>> operator: nil
>>>> loaderPolicy: a MetacelloLoaderPolicy
>>>> disablePackageCache: false
>>>> 
>>>> [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>>>> Receiver: a MetacelloPharoPlatform
>>>> Arguments and temporary variables:
>>>> aBlock: [:barValArg |
>>>> | barVal return newBarSize |
>>>> barVal := barValArg.
>>>> retur...etc...
>>>> bar: [| references nearestReference cachedReference externalReference
>>>> loadedVer...etc...
>>>> Receiver's instance variables:
>>>> bypassProgressBars: false
>>>> bypassGoferLoadUpdateCategories: false
>>>> 
>>>> [result := workBlock value: progress] in [[result := workBlock value:
>>>> progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> progress: [:barValArg |
>>>> | barVal return newBarSize |
>>>> barVal := barValArg.
>>>> ret...etc...
>>>> result: #(nil)
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> BlockClosure>>on:do:
>>>> Receiver: [result := workBlock value: progress]
>>>> Arguments and temporary variables:
>>>> exception: ProgressNotification
>>>> handlerAction: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph un...etc...
>>>> handlerActive: true
>>>> Receiver's instance variables:
>>>> outerContext: [[result := workBlock value: progress]
>>>> on: ProgressNotification...etc...
>>>> startpc: 87
>>>> numArgs: 0
>>>> 
>>>> [[result := workBlock value: progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> progress: [:barValArg |
>>>> | barVal return newBarSize |
>>>> barVal := barValArg.
>>>> ret...etc...
>>>> result: #(nil)
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> BlockClosure>>ensure:
>>>> Receiver: [[result := workBlock value: progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extr...etc...
>>>> Arguments and temporary variables:
>>>> aBlock: [SystemProgressMorph close: progress]
>>>> complete: nil
>>>> returnValue: nil
>>>> Receiver's instance variables:
>>>> outerContext: ProgressInitiationException>>defaultMorphicAction
>>>> startpc: 81
>>>> numArgs: 0
>>>> 
>>>> ProgressInitiationException>>defaultMorphicAction
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> progress: [:barValArg |
>>>> | barVal return newBarSize |
>>>> barVal := barValArg.
>>>> ret...etc...
>>>> result: #(nil)
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>>>> Receiver: a MorphicUIManager
>>>> Arguments and temporary variables:
>>>> anException: ProgressInitiationException
>>>> Receiver's instance variables:
>>>> interactiveParser: nil
>>>> 
>>>> ProgressInitiationException>>defaultAction
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> UndefinedObject>>handleSignal:
>>>> Receiver: nil
>>>> Arguments and temporary variables:
>>>> exception: ProgressInitiationException
>>>> Receiver's instance variables:
>>>> nil
>>>> 
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> Receiver: BlockClosure>>on:do:
>>>> Arguments and temporary variables:
>>>> exception: ProgressInitiationException
>>>> val: nil
>>>> Receiver's instance variables:
>>>> sender: PasteUpMorph>>becomeActiveDuring:
>>>> pc: 17
>>>> stackp: 3
>>>> method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
>>>> closureOrNil: nil
>>>> receiver: [aBlock value]
>>>> 
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> Receiver: BlockClosure>>on:do:
>>>> Arguments and temporary variables:
>>>> exception: ProgressInitiationException
>>>> val: nil
>>>> Receiver's instance variables:
>>>> sender: SmalltalkEditor>>evaluateSelectionAndDo:
>>>> pc: 17
>>>> stackp: 3
>>>> method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
>>>> closureOrNil: nil
>>>> receiver: [rcvr class evaluatorClass new
>>>> evaluate: self selectionForDoitAsStr...etc...
>>>> 
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> Receiver: BlockClosure>>on:do:
>>>> Arguments and temporary variables:
>>>> exception: ProgressInitiationException
>>>> val: nil
>>>> Receiver's instance variables:
>>>> sender: [[result := workBlock value: progress]
>>>> on: ProgressNotification
>>>> do:...etc...
>>>> pc: 17
>>>> stackp: 3
>>>> method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
>>>> closureOrNil: nil
>>>> receiver: [result := workBlock value: progress]
>>>> 
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> Receiver: BlockClosure>>on:do:
>>>> Arguments and temporary variables:
>>>> exception: ProgressInitiationException
>>>> val: nil
>>>> Receiver's instance variables:
>>>> sender:
>>>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultD...etc...
>>>> pc: 17
>>>> stackp: 3
>>>> method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
>>>> closureOrNil: nil
>>>> receiver: [^ aBlock value: dict]
>>>> 
>>>> ProgressInitiationException(Exception)>>signal
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> 
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> ProgressInitiationException>>display:at:from:to:during:
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> argString: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> argPoint: (635 at 231)
>>>> argMinVal: 0
>>>> argMaxVal: 2
>>>> argWorkBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> Receiver's instance variables:
>>>> messageText: nil
>>>> tag: nil
>>>> signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> signalContext: ProgressInitiationException(Exception)>>signal
>>>> handlerContext: nil
>>>> outerContext: nil
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> maxVal: 2
>>>> minVal: 0
>>>> aPoint: (635 at 231)
>>>> progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>> Receiver: ProgressInitiationException
>>>> Arguments and temporary variables:
>>>> aString: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> aPoint: (635 at 231)
>>>> minVal: 0
>>>> maxVal: 2
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> Receiver's instance variables:
>>>> superclass: Exception
>>>> methodDict: a
>>>> MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
>>>> format: 152
>>>> instanceVariables: #('workBlock' 'maxVal' 'minVal' 'aPoint' 'progressTitle')
>>>> organization: ('*Morphic' defaultMorphicAction)
>>>> ('accessing' maxVal minVal poin...etc...
>>>> subclasses: nil
>>>> name: #ProgressInitiationException
>>>> classPool: nil
>>>> sharedPools: nil
>>>> environment: a SystemDictionary(lots of globals)
>>>> category: #'UIManager-Support'
>>>> traitComposition: nil
>>>> localSelectors: nil
>>>> 
>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>> Receiver: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> Arguments and temporary variables:
>>>> aPoint: (635 at 231)
>>>> minVal: 0
>>>> maxVal: 2
>>>> workBlock: [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2]
>>>> Receiver's instance variables:
>>>> 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> 
>>>> MetacelloPharoPlatform>>do:displaying:
>>>> Receiver: a MetacelloPharoPlatform
>>>> Arguments and temporary variables:
>>>> aBlock: [| references nearestReference cachedReference externalReference
>>>> loaded...etc...
>>>> aString: 'Fetching Freetype-Plugin-John M McIntosh.55'
>>>> Receiver's instance variables:
>>>> bypassProgressBars: false
>>>> bypassGoferLoadUpdateCategories: false
>>>> 
>>>> 
>>>> --- The full stack ---
>>>> UndefinedObject(Object)>>doesNotUnderstand: #readStream
>>>> MCScanner class>>scanTokens:
>>>> MCMczReader>>parseMember:
>>>> MCMczReader>>loadPackage
>>>> MCMczReader(MCVersionReader)>>package
>>>> MCMczReader(MCVersionReader)>>basicVersion
>>>> MCMczReader(MCVersionReader)>>version
>>>> [:r | r version] in
>>>> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
>>>> BlockClosure>>cull:
>>>> MCMczReader(ProtoObject)>>ifNotNil:
>>>> MCHttpRepository>>versionReaderForFileNamed:do:
>>>> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
>>>> MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom:
>>>> MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
>>>> MetacelloCachingGoferResolvedReference>>version
>>>> [:each | each version] in [aCollection
>>>> do: [:each | each version].
>>>> nearestReference version dependencies do: block.
>>>> notDone := false] in
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> OrderedCollection>>do:
>>>> [aCollection
>>>> do: [:each | each version].
>>>> nearestReference version dependencies do: block.
>>>> notDone := false] in
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> BlockClosure>>on:do:
>>>> MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
>>>> [| references nearestReference cachedReference externalReference
>>>> loadedVersionInfos mcVersion |
>>>> self flag: #cleanup.
>>>> cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self
>>>> loaderPolicy cacheGofer.
>>>> (cachedReference ~~ nil
>>>> and: [packageSpec getFile ~~ nil])
>>>> ifTrue: [cachedReference name = packageSpec file
>>>> ifTrue: [^ self]].
>>>> references := self retryingResolvePackageSpecReferences: packageSpec gofer:
>>>> gofer.
>>>> nearestReference := references last asMetacelloCachingResolvedReference.
>>>> (cachedReference ~~ nil
>>>> and: [cachedReference name = nearestReference name])
>>>> ifTrue: [^ self].
>>>> (self ignoreImage not
>>>> and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
>>>> ifTrue: [loadedVersionInfos
>>>> do: [:info |
>>>> info name = nearestReference name
>>>> ifTrue: [^ self].
>>>> nil]].
>>>> externalReference := (references
>>>> select: [:ref | ref name = nearestReference name]) first
>>>> asMetacelloCachingResolvedReference.
>>>> self repositoryMap at: externalReference name put: externalReference
>>>> repository.
>>>> (self
>>>> resolveDependencies: externalReference
>>>> nearest: nearestReference
>>>> into: (OrderedCollection with: nearestReference))
>>>> do: [:reference |
>>>> | pSpec l |
>>>> mcVersion := reference version.
>>>> (l := (GoferVersionReference name: reference name)
>>>> resolveAllWith: self loaderPolicy cacheGofer) isEmpty
>>>> ifTrue: [self cacheRepository storeVersion: mcVersion.
>>>> reference == nearestReference
>>>> ifTrue: [pSpec := packageSpec]
>>>> ifFalse: [pSpec := packageSpec project packageSpec.
>>>> pSpec name: mcVersion info].
>>>> self loadData
>>>> addVersion: mcVersion
>>>> versionInfo: mcVersion info
>>>> resolvedReference: reference
>>>> packageSpec: pSpec]].
>>>> self loaderPolicy resetCacheGofer.
>>>> self preLoad: packageSpec.
>>>> (MetacelloDirective
>>>> loadPackage: packageSpec
>>>> externalReference: externalReference
>>>> loader: self)
>>>> addTo: self loadDirective.
>>>> self postLoad: packageSpec.
>>>> Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' ,
>>>> externalReference repository description , ' --- ' , nearestReference
>>>> repository description] in
>>>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>>>> [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>>>> [result := workBlock value: progress] in [[result := workBlock value:
>>>> progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> BlockClosure>>on:do:
>>>> [[result := workBlock value: progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> BlockClosure>>ensure:
>>>> ProgressInitiationException>>defaultMorphicAction
>>>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>>>> ProgressInitiationException>>defaultAction
>>>> UndefinedObject>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> ProgressInitiationException(Exception)>>signal
>>>> ProgressInitiationException>>display:at:from:to:during:
>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>> MetacelloPharoPlatform>>do:displaying:
>>>>  - - - - - - - - - - - - - - -
>>>> - - - - - - - - - - - - - - - - - -
>>>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
>>>> MetacelloPackageSpec>>loadUsing:gofer:
>>>> [:pkg | pkg loadUsing: self gofer: gofer] in
>>>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>>>> OrderedCollection>>do:
>>>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
>>>> [super linearLoadPackageSpecs: packageSpecs repositories: repositories] in
>>>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>>>> BlockClosure>>ensure:
>>>> MetacelloLoaderPolicy>>pushLoadDirective:during:
>>>> MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:
>>>> MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
>>>> MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load
>>>> MetacelloMCVersionSpecLoader>>load
>>>> MetacelloMCVersion>>executeLoadFromArray:
>>>> [:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec loader:
>>>> newLoader.
>>>> MetacelloPlatform current
>>>> useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>>> defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>>> MetacelloPlatform current
>>>> useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>>> defaultDictionary: Dictionary new]
>>>> ensure: [self versionSpec loader: originalLoader]] in
>>>> MetacelloMCVersion>>fetchRequiredFromArray:
>>>> [^ aBlock value: dict] in
>>>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>>>> BlockClosure>>on:do:
>>>> MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
>>>> [self versionSpec loader: newLoader.
>>>> MetacelloPlatform current
>>>> useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>>> defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
>>>> MetacelloPlatform current
>>>> useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>>> defaultDictionary: Dictionary new]
>>>> ensure: [self versionSpec loader: originalLoader]] in
>>>> MetacelloMCVersion>>fetchRequiredFromArray:
>>>> BlockClosure>>ensure:
>>>> [[self versionSpec loader: newLoader.
>>>> MetacelloPlatform current
>>>> useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
>>>> defaultDictionary: Dictionary new]
>>>> ensure: [self versionSpec loader: originalLoader]] in
>>>> MetacelloMCVersion>>fetchRequiredFromArray:
>>>> [:bar |
>>>> bar value: 1.
>>>> aBlock value.
>>>> bar value: 2] in MetacelloPharoPlatform>>do:displaying:
>>>> [result := workBlock value: progress] in [[result := workBlock value:
>>>> progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> BlockClosure>>on:do:
>>>> [[result := workBlock value: progress]
>>>> on: ProgressNotification
>>>> do: [:ex |
>>>> ex extraParam isString
>>>> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex
>>>> extraParam].
>>>> ex resume]] in ProgressInitiationException>>defaultMorphicAction
>>>> BlockClosure>>ensure:
>>>> ProgressInitiationException>>defaultMorphicAction
>>>> MorphicUIManager>>progressInitiationExceptionDefaultAction:
>>>> ProgressInitiationException>>defaultAction
>>>> UndefinedObject>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> ProgressInitiationException(Exception)>>signal
>>>> ProgressInitiationException>>display:at:from:to:during:
>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>> MetacelloPharoPlatform>>do:displaying:
>>>> MetacelloMCVersion>>fetchRequiredFromArray:
>>>> [| fetchLoader |
>>>> fetchLoader := self
>>>> fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
>>>> MetacelloPlatform current
>>>> do: [fetchLoader doLoad]
>>>> displaying: 'Loading ' , displayString.
>>>> Transcript cr; show: '...finished ' , self versionNumber printString.
>>>> ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray:
>>>> BlockClosure>>ensure:
>>>> MetacelloMCVersion>>doLoadRequiredFromArray:
>>>> MetacelloMCVersion>>load
>>>> ConfigurationOfVMMaker class>>load
>>>> UndefinedObject>>DoIt
>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>> [rcvr class evaluatorClass new
>>>> evaluate: self selectionForDoitAsStream
>>>> in: ctxt
>>>> to: rcvr
>>>> notifying: self morph
>>>> ifFail: [self morph flash.
>>>> ^ nil]
>>>> logged: true] in SmalltalkEditor>>evaluateSelectionAndDo:
>>>> BlockClosure>>on:do:
>>>> SmalltalkEditor>>evaluateSelectionAndDo:
>>>> SmalltalkEditor>>evaluateSelection
>>>> [textMorph editor evaluateSelection] in PluggableTextMorph>>doIt
>>>> [result := editBlock value] in PluggableTextMorph>>handleEdit:
>>>> TextMorphForEditView(TextMorph)>>handleEdit:
>>>> PluggableTextMorph>>handleEdit:
>>>> PluggableTextMorph>>doIt
>>>> Workspace(StringHolder)>>perform:orSendTo:
>>>> [| selArgCount |
>>>> (selArgCount := selector numArgs) = 0
>>>> ifTrue: [target perform: selector]
>>>> ifFalse: [selArgCount = arguments size
>>>> ifTrue: [target perform: selector withArguments: arguments]
>>>> ifFalse: [target
>>>> perform: selector
>>>> withArguments: (arguments copyWith: evt)]].
>>>> self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
>>>> BlockClosure>>ensure:
>>>> CursorWithMask(Cursor)>>showWhile:
>>>> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
>>>> ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
>>>> ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
>>>> MouseButtonEvent>>sentTo:
>>>> ToggleMenuItemMorph(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> ToggleMenuItemMorph(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> MenuMorph(Morph)>>processEvent:using:
>>>> MenuMorph(Morph)>>processEvent:
>>>> MenuMorph>>handleFocusEvent:
>>>> [ActiveHand := self.
>>>> ActiveEvent := anEvent.
>>>> result := focusHolder
>>>> handleFocusEvent: (anEvent
>>>> transformedBy: (focusHolder transformedFrom: self))] in
>>>> HandMorph>>sendFocusEvent:to:clear:
>>>> [aBlock value] in PasteUpMorph>>becomeActiveDuring:
>>>> BlockClosure>>on:do:
>>>> PasteUpMorph>>becomeActiveDuring:
>>>> HandMorph>>sendFocusEvent:to:clear:
>>>> HandMorph>>sendEvent:focus:clear:
>>>> HandMorph>>sendMouseEvent:
>>>> HandMorph>>handleEvent:
>>>> HandMorph>>processEvents
>>>> [:h |
>>>> ActiveHand := h.
>>>> h processEvents.
>>>> ActiveHand := nil] in WorldState>>doOneCycleNowFor:
>>>> Array(SequenceableCollection)>>do:
>>>> WorldState>>handsDo:
>>>> WorldState>>doOneCycleNowFor:
>>>> WorldState>>doOneCycleFor:
>>>> WorldState>>doOneSubCycleFor:
>>>> PasteUpMorph>>doOneSubCycle
>>>> MenuMorph>>invokeModalAt:in:allowKeyboard:
>>>> MenuMorph>>invokeModal:
>>>> MenuMorph>>invokeModal
>>>> PluggableTextMorph>>yellowButtonActivity:
>>>> TextMorphForEditView>>mouseDown:
>>>> TextMorphForEditView(Morph)>>handleMouseDown:
>>>> MouseButtonEvent>>sentTo:
>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> TextMorphForEditView(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> TransformMorph(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> PluggableTextMorph(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> SystemWindow(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> PasteUpMorph(Morph)>>processEvent:using:
>>>> PasteUpMorph>>processEvent:using:
>>>> PasteUpMorph(Morph)>>processEvent:
>>>> HandMorph>>sendEvent:focus:clear:
>>>> HandMorph>>sendMouseEvent:
>>>> HandMorph>>handleEvent:
>>>> HandMorph>>processEvents
>>>> [:h |
>>>> ActiveHand := h.
>>>> h processEvents.
>>>> ActiveHand := nil] in WorldState>>doOneCycleNowFor:
>>>> Array(SequenceableCollection)>>do:
>>>> WorldState>>handsDo:
>>>> WorldState>>doOneCycleNowFor:
>>>> WorldState>>doOneCycleFor:
>>>> PasteUpMorph>>doOneCycle
>>>> [[World doOneCycle.
>>>> Processor yield.
>>>> false] whileFalse.
>>>> nil] in MorphicUIManager>>spawnNewProcess
>>>> [self value.
>>>> Processor terminateActive] in BlockClosure>>newProcess
>>>> 
>>>> 
>>>> ________________________________
>>>> From: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
>>>> To: Pharo-project at lists.gforge.inria.fr; dimitris chloupis
>>>> <thekilon at yahoo.co.uk>
>>>> Sent: Sunday, 29 January 2012, 11:39
>>>> Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
>>>> 
>>>> 2012/1/29 dimitris chloupis <thekilon at yahoo.co.uk>:
>>>>> ok if you want me to install the latest I will install the latest , but
>>>>> there is no such documentation I am aware of how to do that .
>>>>> 
>>>>> Can you help me ?
>>>>> 
>>>>> Currently I have NBCog , Pharo-1.4 image and the latest from " git clone
>>>>> git://gitorious.org/cogvm/blessed.git"
>>>>> 
>>>>> But I have no idea how to install the latest VMMaker and CMakeVMMaker
>>>>> 
>>>>> I tried monticello giving it this adress
>>>>> 
>>>>> MCHttpRepository
>>>>>     location: 'http://www.squeaksource.com/VMMaker'
>>>>>     user: ''
>>>>>     password: ''
>>>>> 
>>>> 
>>>> I agree with you, we are very very bad when it come to documenting how to...
>>>> To aggravate this situation, the ground is moving fast under our feet.
>>>> If you open above address in a web browser, you'll see this:
>>>> 
>>>> Effective 05-Sept-2011, the VMMaker repository is hosted at
>>>> http://source.squeak.org/VMMaker.html and new updates will appear in
>>>> that repository, possibly mirrored here for convenience. Please update
>>>> your Montecello browsers accordingly.
>>>> 
>>>> There is a Metacello invocation for loading all Pharo compatible or
>>>> Pharo specific packages maybe something like this (I'm not totally
>>>> sure, but Pharo gurus will correct me)
>>>> 
>>>> Gofer new
>>>>   squeaksource: 'MetacelloRepository';
>>>>   package: 'ConfigurationOfVMMaker';
>>>>   load.
>>>> (Smalltalk at: #ConfigurationOfVMMaker) perform: #load.
>>>> 
>>>> I don't have write access to these repositories, but I wish this
>>>> incantation were in the project description or the wiki of both pages
>>>> http://source.squeak.org/VMMaker.html and
>>>> http://www.squeaksource.com/VMMaker
>>>> 
>>>> I also see a notice about SVN, but nothing about the git repository...
>>>> I'm sure detailed instructions exist somewhere but a link should be
>>>> provided from the Monticello project page.
>>>> That's the least we should do, and not only for newbies (I often swear
>>>> like troopers when I loose my time searching the precious
>>>> information).
>>>> These little obstacles are repelling many people I guess, it's like we
>>>> should follow an initiation before we dare putting our dirty nose in
>>>> code.
>>>> I don't like this spirit, and I hope it's unintentional, but it's
>>>> totally contrary to Smalltalk foundations.
>>>> 
>>>> Nicolas
>>>> 
>>>>> 
>>>>> Any package I click to load it gives me dependency issues and update
>>>>> package
>>>>> complains about a Bad
>>>>> 
>>>>> Gateway
>>>>> 
>>>>> 
>>>>> Yes I got the very latest of XCode and I am open to any suggestion.
>>>>> 
>>>>> ________________________________
>>>>> From: Igor Stasenko <siguctua at gmail.com>
>>>>> To: Pharo-project at lists.gforge.inria.fr
>>>>> Sent: Sunday, 29 January 2012, 1:00
>>>>> Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
>>>>> 
>>>>> 
>>>>> 
>>>>> I don't know. But how do you know from his stackstrace that the problem is
>>>>> that ?
>>>>> 
>>>>> 
>>>>> i dont. :)
>>>>> i replied after seeing an Esteban's message saying that your post is
>>>>> outdated and one should use 3.9 config version.
>>>>> and couple days before we had someone who asking why NB-enabled VM fails
>>>>> to
>>>>> build for him,
>>>>> when he still using this magic
>>>>>  ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') load.
>>>>> 
>>>>> while when i was released an CMakeVMMaker configs for NB , it was already
>>>>> far beyond that version,
>>>>> and of course won't work with 1.5.
>>>>> 
>>>>> --
>>>>> Best regards,
>>>>> Igor Stasenko.
>>>>> 
>>>>> 
>>>> 
>>>> 
> 





More information about the Pharo-dev mailing list